Added proper handling of punishments. Can deal with different drop patterns and drops that are smaller than the board width.