#include<iostream>#include<string>#include<cstdio>using namespace std;void sort( int N, string s[] ){int i = 0;while( i < N - 1 ){int j = i + 1;while( j < N ){if( s[ i ] > s[ j ] ){string temp;temp = s[ i ];s[ i ] = s[ j ];s[ j ] = temp;}j++;}i++;}}char recur( string s1, int N, int T ){string s2;cin >> s2;if( s2[ 0 ] == '#' )return '#';if( s1 == "ROOT" )printf( "DATA SET %d:n", T );int i = 0;while( i < N ){cout<<"| ";i++;}cout << s1 << endl;int j = 0;string s[ 100 ];do{switch( s2[ 0 ] ){case 'f':{ s[ j++ ] = s2; }break;case 'd':{ recur( s2, N + 1, T ); }break;case ']':{ sort( j, s ); int g = 0; while( g < j ) { int i = 0; while( i < N ) { cout<<"| "; i++; } cout << s[ g ] << endl; g++; } } return ']';case '*':{ sort( j, s ); int g = 0; while( g < j ) { cout << s[ g ] << endl; g++; } } return '*';case '#':return '#'; }}while( cin >> s2 );return '*';}int main(){int T = 1;while( true ){if( recur( "ROOT", 0, T ) == '#' )break;cout << endl;T++;}return 0;}