f=lambda n:n*[n]and f(n-1)+[n]+f(n-1) L=f(input(' _\n')) for i,j in zip(L,L[1:]+L):print'%c|%s|'%(64+i,'_'*i)+'_'*(j+~i)
5
_ A|_| B|__| A|_|_ C|___| A|_| B|__| A|_|__ D|____| A|_| B|__| A|_|_ C|___| A|_| B|__| A|_|___ E|_____| A|_| B|__| A|_|_ C|___| A|_| B|__| A|_|__ D|____| A|_| B|__| A|_|_ C|___| A|_| B|__| A|_|