#D5405. Section Diagram

    ID: 4491 Type: Default 1000ms 134MiB

Section Diagram

Section Diagram

Areas on the Cross-Section Diagram

Your task is to simulate a flood damage.

For a given cross-section diagram, reports areas of flooded sections.

Assume that rain is falling endlessly in the region and the water overflowing from the region is falling in the sea at the both sides. For example, for the above cross-section diagram, the rain will create floods which have areas of 4, 2, 1, 19 and 9 respectively.

output

Report the areas of floods in the following format:

AA kk L1L_1 L2L_2 ... LkL_k

In the first line, print the total area AA of created floods.

In the second line, print the number of floods kk and areas Li(i=1,2,...,k)L_i (i = 1, 2, ..., k) for each flood from the left side of the cross-section diagram. Print a space character before LiL_i.

Constraints

  • 11 \leq length of the string 20,000\leq 20,000

Input

A string, which represents slopes and flatlands by '/', '' and '' respectively, is given in a line. For example, the region of the above example is given by a string "\///\//\\\//\///__\\\\///".

Examples

Input

\//

Output

4 1 4

Input

\///_//\\//\///__\_\//_/\

Output

35 5 4 2 1 19 9

inputFormat

outputFormat

output

Report the areas of floods in the following format:

AA kk L1L_1 L2L_2 ... LkL_k

In the first line, print the total area AA of created floods.

In the second line, print the number of floods kk and areas Li(i=1,2,...,k)L_i (i = 1, 2, ..., k) for each flood from the left side of the cross-section diagram. Print a space character before LiL_i.

Constraints

  • 11 \leq length of the string 20,000\leq 20,000

Input

A string, which represents slopes and flatlands by '/', '' and '' respectively, is given in a line. For example, the region of the above example is given by a string "\///\//\\\//\///__\\\\///".

Examples

Input

\//

Output

4 1 4

Input

\///_//\\//\///__\_\//_/\

Output

35 5 4 2 1 19 9

样例

\\///\_/\/\\\\/_/\\///__\\\_\\/_\/_/\
35

5 4 2 1 19 9

</p>