Optimal blocking schemes for 2 n and 2 n−p designs