{-# OPTIONS -O2 #-}
import Control.Applicative
import System.Random
main
= f
[replicate
(15 - i
) ' ' ++ replicate
(i
* 2 - 1) '.' | i
<- [1..15]] >>= mapM_ putStrLn
f elka
| ['O' | 'O' <- concat elka
] /= "OOOOOOOOO" = sequence [(`
mod`
15) <$> randomIO
, randomIO
] >>= f
. dovaj elka
dovaj e [r, c] = a ++ [v ++ 'O':g] ++ b where
(v
, _:g
) = splitAt (mod c
(r
* 2 + 1) + (14 - r
)) t
ey0jIE9QVElPTlMgLU8yICMtfQppbXBvcnQgQ29udHJvbC5BcHBsaWNhdGl2ZQppbXBvcnQgU3lzdGVtLlJhbmRvbQoKCm1haW4gPSBmIFtyZXBsaWNhdGUgKDE1IC0gaSkgJyAnICsrIHJlcGxpY2F0ZSAoaSAqIDIgLSAxKSAnLicgfCBpIDwtIFsxLi4xNV1dID4+PSBtYXBNXyBwdXRTdHJMbgoKZiBlbGthCXwgWydPJyB8ICdPJyA8LSBjb25jYXQgZWxrYV0gLz0gIk9PT09PT09PTyIgPSBzZXF1ZW5jZSBbKGBtb2RgIDE1KSA8JD4gcmFuZG9tSU8sIHJhbmRvbUlPXSA+Pj0gZiAuIGRvdmFqIGVsa2EKCXwgb3RoZXJ3aXNlID0gcmV0dXJuIGVsa2EKCmRvdmFqIGUgW3IsIGNdID0gYSArKyBbdiArKyAnTyc6Z10gKysgYiB3aGVyZQoJKGEsIHQ6YikgPSBzcGxpdEF0IHIgZQoJKHYsIF86ZykgPSBzcGxpdEF0IChtb2QgYyAociAqIDIgKyAxKSArICgxNCAtIHIpKSB0Cg==