Comments
Contest: Codeforces Round 387 (Div. 2)
Difficulty rating: 1700
Tags: dfs and similar, expression parsing, implementation, strings

A rare article in the Internet is posted without a possibility to comment it. On a Polycarp's website each article has comments feed.

Each comment on Polycarp's website is a non-empty string consisting of uppercase and lowercase letters of English alphabet. Comments have tree-like structure, that means each comment except root comments (comments of the highest level) has exactly one parent comment.

When Polycarp wants to save comments to his hard drive he uses the following format. Each comment he writes in the following format:

- at first, the text of the comment is written;
- after that the number of comments is written, for which this comment is a parent comment (i. e. the number of the replies to this comments);
- after that the comments for which this comment is a parent comment are written (the writing of these comments uses the same algorithm).

For example, if the comments look like:

then the first comment is written as "hello,2,ok,0,bye,0", the second is written as "test,0", the third comment is written as "one,1,two,2,a,0,b,0". The whole comments feed is written as: "hello,2,ok,0,bye,0,test,0,one,1,two,2,a,0,b,0". For a given comments feed in the format specified above print the comments in a different format:

- at first, print a integer d — the maximum depth of nesting comments;
- after that print d lines, the i-th of them corresponds to nesting level i;
- for the i-th row print comments of nesting level i in the order of their appearance in the Policarp's comments feed, separated by space.

Input format:
The first line contains non-empty comments feed in the described format. It consists of uppercase and lowercase letters of English alphabet, digits and commas.

It is guaranteed that each comment is a non-empty string consisting of uppercase and lowercase English characters. Each of the number of comments is integer (consisting of at least one digit), and either equals 0 or does not contain leading zeros.

The length of the whole string does not exceed 106. It is guaranteed that given structure of comments is valid.

Output format:
Print comments in a format that is given in the statement. For each level of nesting, comments should be printed in the order they are given in the input.

Constraints:
Time limit: 2.0 s
Memory limit: 256.0 MB

Note:
The first example is explained in the statements.

Example input:
hello,2,ok,0,bye,0,test,0,one,1,two,2,a,0,b,0

Example output:
3
hello test one
ok bye two
a b

Example input:
a,5,A,0,a,0,A,0,a,0,A,0

Example output:
2
a
A a A a A

Editorial:
Let pos is a global variable equals to the current position in the given string. To solve we can use recursive function rec(lvl, cnt), means that in the current moment we are on the level of replies lvl and there is cnt comments on this level. Than we need iterate by i from 1 to cnt and on each iteration we will make the following: read from the position pos comment, add this comment to the answer for level lvl and than read the number of it children nxtcnt. After that pos will in the beginning of the first child of this comment and we need to run rec(lvl + 1, nxtcnt). For the higher level we can put in cnt big number and return from the function rec in the moment when pos will become equals to the length of the given string.