func main() if(dbg) var strs: [][]char :: |["ABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNPQRSTVWXYZ"] ~ |["BCDEFGHIJKLMNOPQSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZ"] ~ |["ABCDEFHJKLMNOPQRSTUWXYZABCDFGHIJKLMOPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLMNOPQRSUVXYZABCDEFGHIJKLMNPQRSTUVWXYZ"] ~ |["ABCDEFGHJKLMOPQRSUVWXYZABCDFHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQTUVWXYZ"] ~ |["ABCDEFGHIJKLMOPQRSTUVWXYZ"] ~ |["BCDEFGHIJKLMOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLNOPQRSTUVWXYZ."] ~ |["ABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNPQRSTVWXYZABCDEFGHIJKLMNOPQSTUVWXYZ"] ~ |["ABCDEFGHIJKLMNOPQRSUVWXYZBCDEFGHIJKLMNOPQRTUVWXYZABCDEFGHIJLMNOPQRSTUVWXYZ"] ~ |["ABCDEFGHJKLMNOPQRTUVWXYZ"] ~ |["ABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZ"] ~ |["ABCDEGHJKLMOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZ"] ~ |["ABCDEGHIJKLMNOPQRSTUVWXYZBDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNPQSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZBCDEFGHIJKMNOPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLMNPQRSTUVWXYZABCDEGHIJKLMNOPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLMOPQRSTUVWXYZ,"] ~ |["ABCDEFGHIJKLNPQRSTUVWXYZABCEFGHIJKLMNOPQRSTVWXYZABCDEFGHIJKMNPQRSTUVWXYZ"] ~ |["ABCDEFGHIJKLNOPQRSTUVWXYZ."] for _(0, ^strs - 1) var s: []char :: strs[_] var offset: int :: 0 for i(0, ^s - 1) switch c(s[i]) case 'A' to 'Z' while('A'.offset(offset % 26) <> c) do cui@print(['A'.offset(offset % 26)]) do offset :+ 1 end while do offset :+ 1 default do cui@print([s[i]]) end switch end for do cui@print(" ") end for do cui@print("\n") end if var n: int :: cui@inputInt() var m: int :: cui@inputInt() var ans: int :: 1 if(n >= m) do ans :: 0 else for i(1, n) do ans :* i do ans :% m end for end if do cui@print("\{ans}\n") end func