Robotic Stacker 

A certain warehouse has ordered a robotic unit that can pick up, move and place various size boxes. It was ordered to provide a capability of using the warehouse floor space to the maximum extent by stacking boxes as high as possible. The first task is to stack simple boxes in a bin that is 1 foot wide by 6 feet long and is 20 feet high. The boxes come into the warehouse on a conveyor belt one at a time. The task is for the robot to pick up the next box, move it from the conveyor area, and place it in the bin. The boxes on the conveyor are packaged groups of boxes that are a cube of 1 foot to a side. They are grouped in four sizes: one packaged box, two packaged boxes, three packaged boxes in a row, and four packaged boxes in a row. As with all new automated inovations, management wants to witness a simulated stacking exercise before committing the robot to full autonomous operation.

Input and Output

Write a complete program that accepts as input a list of boxes by size (number in the packaged group). This list will look like this:

4234443131..........

This means that the first package to be stacked has 4 boxes, the second has 2 boxes, the third has 3, the fourth has 4 boxes, the fifth has 4 boxes etc.

Your program must accept the input list sequentially and stack as many packages as it can. Packages must be stacked intact.... cannot be split apart into component boxes.

Assume that all packages stacked horizontally are fully supported throughout their length wherever they stack on top of an existing box. All packages must rest on top of an existing package or on the floor.

The output, for each line of the input, must be a line with two integer numbers separated by a space: the (maximum) number of packages you stacked and the number of the 120 possible box locations which are empty at the end.

Sample Input

44444444444444444444444444444444444444444444
333333333333333333333333333333333333333422221111

Sample Output

30 0
39 3