The Block Stacking Problem