import Data.List (intersperse)
import Control.Applicative ((<$>))
where
rows = row <$> [1..n]
row i = let nbsp = chr 0x00A0
triangle = chr 0x25B2
offset = replicate (n - i) nbsp
triangles = replicate i triangle
in offset ++ intersperse nbsp triangles
aW1wb3J0IERhdGEuTGlzdCAoaW50ZXJzcGVyc2UpCmltcG9ydCBEYXRhLkNoYXIgKGNocikKaW1wb3J0IENvbnRyb2wuQXBwbGljYXRpdmUgKCg8JD4pKQppbXBvcnQgU3lzdGVtLklPIChyZWFkTG4pCgp0cmlmb3JjZSA6OiBJbnQgLT4gU3RyaW5nCnRyaWZvcmNlIG4gfCBuID4gMCA9IHVubGluZXMgcm93cwogICAgd2hlcmUKICAgICAgICByb3dzICA9IHJvdyA8JD4gWzEuLm5dCiAgICAgICAgcm93IGkgPSBsZXQgbmJzcCAgICAgID0gY2hyIDB4MDBBMAogICAgICAgICAgICAgICAgICAgIHRyaWFuZ2xlICA9IGNociAweDI1QjIKICAgICAgICAgICAgICAgICAgICBvZmZzZXQgICAgPSByZXBsaWNhdGUgKG4gLSBpKSBuYnNwCiAgICAgICAgICAgICAgICAgICAgdHJpYW5nbGVzID0gcmVwbGljYXRlIGkgdHJpYW5nbGUKICAgICAgICAgICAgICAgIGluICBvZmZzZXQgKysgaW50ZXJzcGVyc2UgbmJzcCB0cmlhbmdsZXMKCm1haW4gOjogSU8gKCkKbWFpbiA9IChyZWFkTG4gOjogSU8gSW50KSA+Pj0gcmV0dXJuIC4gdHJpZm9yY2UgPj49IHB1dFN0ckxuCg==