n=50 def h(q): x,y,d,w=q u=x;v=y if f[y-1+d][x-d]!=" ":return 0 for c in w: if f[y][x]!=" "and f[y][x]!=c:return 0 if f[y][x]==" "and(f[y-d][x-1+d]!=" "or f[y+d][x+1-d]!=" "):return 0 x+=d;y+=1-d if f[y][x]!=" ":return 0 if w=="labeled":w="laleled" if w=="altitude":w="lltitude" for c in w:f[v][u]=c;u+=d;v+=1-d return 1 s=raw_input().split(" ");f=[[" "]*n for i in range(n)];q=(n/2,n/2,1,s.pop(0));h(q);d=0;k="" for w in s: o=0;x,y,g,t=q;a=t in ["essay"];b=t in ["scrabble","natural"] w1,t1=(t,w)if b else(w,t) x+=g*len(t)*a y+=(1-g)*len(t)*a for j in t1: u,v=x,y for i in w1: p=(u,v,d,w) if h(p):q=p;d=1-d;o=1;break if b:u+=g;v+=1-g else:u-=d;v-=1-d if o:break if a:x-=g;y-=1-g elif b:x-=d;y-=1-d else:x+=g;y+=1-g if 1-o:k="\n/* error with %s */"%w;break r=["".join(z).rstrip()for z in f] while r[0]=="":r=r[1:] while r[-1]=="":r=r[:-1] c=lambda z:0 if z[0]!=" "else 1+c(z[1:]);m=min([c(z)for z in r]) for z in r:print z[m:] if k:print k