#include <stdio.h>
int ini_n = -1;
int main(int n, char **v) {
static int cnt = 0;
int i;
if(ini_n == -1) ini_n = n;
for(i=0;i<cnt;i++) printf(" ");
printf("main(%d, \"", n);
for(i=1;i<n;i++) printf("%s ", v[i]);
for(i=n;i<ini_n;i++) printf("(%s) ", v[i]);
printf("\")\n");
cnt++;
if(--n) {
main(n,v);
v[n][0] ^= 0X80;
for(i=0;i<cnt;i++) printf(" ");
for(i=1;i<n;i++) printf("%s ", v[i]);
for(i=n;i<ini_n;i++) printf("(%s) ", v[i]);
printf("\n");

for(v[0][0]=0; v[++v[0][0]]!=0; ) {
if(v[v[0][0]][0] > 0) {
for(i=0;i<cnt;i++) printf(" ");
puts(v[v[0][0]]);
}
}
for(i=0;i<cnt;i++) printf(" ");
puts("----------");
main(n,v);
}
cnt--;
}