32.times{|y|print" "*(31-y);(y+1).times{|x|print" #{~y&x==0?"A":"."}"};puts}
32.times{|y|print" "*(31-y);(y+1).times{|x|print" #{~y&x==0?"A":"."}"};puts}
A
A A
A . A
A A A A
A . . . A
A A . . A A
A . A . A . A
A A A A A A A A
A . . . . . . . A
A A . . . . . . A A
A . A . . . . . A . A
A A A A . . . . A A A A
A . . . A . . . A . . . A
A A . . A A . . A A . . A A
A . A . A . A . A . A . A . A
A A A A A A A A A A A A A A A A
A . . . . . . . . . . . . . . . A
A A . . . . . . . . . . . . . . A A
A . A . . . . . . . . . . . . . A . A
A A A A . . . . . . . . . . . . A A A A
A . . . A . . . . . . . . . . . A . . . A
A A . . A A . . . . . . . . . . A A . . A A
A . A . A . A . . . . . . . . . A . A . A . A
A A A A A A A A . . . . . . . . A A A A A A A A
A . . . . . . . A . . . . . . . A . . . . . . . A
A A . . . . . . A A . . . . . . A A . . . . . . A A
A . A . . . . . A . A . . . . . A . A . . . . . A . A
A A A A . . . . A A A A . . . . A A A A . . . . A A A A
A . . . A . . . A . . . A . . . A . . . A . . . A . . . A
A A . . A A . . A A . . A A . . A A . . A A . . A A . . A A
A . A . A . A . A . A . A . A . A . A . A . A . A . A . A . A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A