Given 2n-to-n compression functions h1, h2, h3, we build a new 5n-to-n compression function T5, using only 3 compression calls: T5(m1, m2, m3, m4, m5):= h3(h1(m1, m2) ⊕ m5, h2(m3, m4) ⊕ m5) ⊕ m5 We prove that this construction matches Stam's bound, by providing Õ(q2/2n) collision security and O(q3/22n + nq/2n) preimage security (the latter term dominates in the region of interest, when q < 2n/2). In particular, it provides birthday security for hashing 5 inputs using three 2n-to-n compression calls, instead of only 4 inputs in prior constructions. Thus, we get a sequential variant of the Merkle-Damgård (MD) hashing, where t message blocks are hashed using only 3t/4 calls to the 2n-to-n compression functions; a 25% saving over traditional hash function constructions. This time reduces to t/4 (resp. t/2) sequential calls using 3 (resp. 2) parallel execution units; saving a factor of 4 (resp. 2) over the traditional MD-hashing, where parallelism does not help to process one message. We also get a novel variant of a Merkle tree, where t message blocks can be processed using 0.75(t − 1) compression function calls and depth 0.86 log2 t, thereby saving 25% in the number of calls and 14% in the update time over Merkle trees. We provide two modes for a local opening of a particular message block: conservative and aggressive. The former retains the birthday security, but provides longer proofs and local verification time than the traditional Merkle tree. For the aggressive variant, we reduce the proof length to a 29% overhead compared to Merkle trees (1.29 log2 t vs log2 t), but the verification time is now 14% faster (0.86 log2 t vs log2 t). However, birthday security is only shown under a plausible conjecture related to the 3-XOR problem, and only for the (common, but not universal) setting where the root of the Merkle tree is known to correspond to a valid t-block message.