Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app "01"
- packages { pf: "cli-platform/main.roc" }
- imports [pf.Stdout, pf.Task.{ Task }, pf.Program.{ Program, ExitCode }]
- provides [main] to pf
- main : Program
- main = Program.noArgs mainTask
- # Str.graphemes is not available on the latest nightly build, so I converted it myself
- graphemes : List Str
- graphemes =
- [ "^", ">", "<", "^", ">", ">", ">", "^", "<", "^", "v", "<", "v", "^", "^", "v", "v", "^", ">", "<", "<", "^", "<", ">", "<", "<", "v", "v", "^", "<", ">", "^", "<", "^", "v", ">", "^", "v", "v", "<", ">", "v", ">", "<", "v", "v", "^", "^", "<", ">", ">", "^", "^", "^", "v", "<", "<", "v", "v", ">", "<", "<", "^", ">", "^", "<", "^", "v", "<", "^", ">", "^", "v", ">", "<", "<", "<", "v", "^", "<", "v", "<", "<", "<", "v", "<", "<", "v", "v", "<", "v", "<", "^", ">", "<", "^", ">", ">", "<", ">", "v", ">", "v", "^", "<", "<", "v", "^", "^", "<", "^", "v", "<", ">", "<", "^", ">", "^", "<", "<", "^", "^", "^", ">", "v", ">", ">", "v", "^", "^", "<", "v", ">", ">", "^", ">", "v", "v", ">", "<", "v", ">", ">", "^", ">", ">", "v", "^", ">", "^", "v", ">", "^", "<", "^", "^", "v", ">", "^", ">", "^", "^", "v", "<", "v", ">", "^", "^", "<", "v", "<", ">", ">", "v", "^", "^", "v", ">", "<", "^", ">", "<", "^", "<", "<", ">", "v", "^", "<", "^", "<", "^", "v", "<", "v", ">", "v", "^", ">", ">", ">", "v", "^", "v", "^", ">", "^", "<", ">", "^", "v", "<", "^", "^", "v", "v", "<", "v", ">", "^", ">", "^", "<", ">", "^", "^", "<", "v", "v", "^", "<", ">", "<", "<", "v", "<", "^", "<", "^", "^", ">", "v", "v", "<", ">", "^", ">", "v", "<", "^", ">", "^", "v", ">", "v", "^", ">", "^", "v", "<", ">", "^", ">", "<", ">", ">", "<", "v", "v", "<", ">", "v", "^", "v", "<", ">", "<", ">", "v", "^", "v", ">", ">", ">", ">", "v", "^", "^", ">", "^", ">", "<", "^", "^", "<", "v", "<", "^", ">", "<", "^", "<", "v", ">", ">", "^", "v", "^", "v", "<", ">", "v", "<", "<", "<", "^", "<", "<", "v", "v", "v", "v", "<", "<", "v", "^", "v", "v", "^", ">", "v", "^", "^", "^", "<", "^", "^", "^", "<", "v", ">", ">", "v", "<", "^", "v", ">", ">", ">", ">", ">", "v", "<", "^", "^", "^", "^", ">", "v", "<", "^", "<", ">", "<", "v", ">", ">", ">", ">", ">", "<", "v", ">", ">", "v", "^", "v", "v", "v", "v", "^", "^", "<", "v", "^", "<", ">", "^", "v", "<", "^", "v", "^", ">", "v", ">", "<", "^", ">", "^", "v", "<", "<", ">", ">", "v", "v", "^", ">", "v", ">", "v", "^", "^", ">", "v", "v", "^", "<", "^", "v", "v", "v", "<", ">", ">", "<", ">", ">", "<", ">", "<", "^", "^", "^", "<", "v", "<", ">", "^", "<", "^", "^", "^", "<", "v", ">", "<", "^", "v", ">", ">", "v", ">", "^", "v", "<", "v", "^", "v", "v", "^", "<", ">", "^", "^", "^", ">", "v", "^", "^", "^", "v", ">", ">", "^", "v", "^", "^", "<", "^", ">", ">", "^", ">", "^", "<", "<", "v", ">", ">", ">", "^", "^", "<", ">", ">", "^", "v", "v", ">", "v", "^", "<", "^", ">", ">", ">", ">", "<", "v", "<", ">", "<", ">", "<", "^", "^", "v", "<", ">", "<", "<", "<", "<", "^", "^", "<", ">", ">", "^", "<", "v", "v", "v", "^", ">", "<", ">", "v", "<", "v", "<", "<", "<", "<", ">", "<", "v", "<", "<", "v", ">", "v", "<", "v", "^", ">", "<", "v", "v", "<", "v", "^", ">", "^", "<", "^", ">", "v", "^", "^", ">", "<", "^", "v", ">", "^", "^", ">", "v", "<", ">", "^", "v", "^", "<", ">", "^", "v", "v", "^", ">", "<", "v", "^", "^", "v", "v", ">", "v", "v", "v", ">", "v", ">", "^", "<", "v", "v", "^", ">", ">", "^", ">", ">", "^", ">", ">", "<", ">", ">", ">", "^", "^", "^", "^", "v", "<", "v", "v", ">", "^", "<", ">", "v", "^", "^", ">", "<", "v", "^", ">", "^", "<", ">", "v", "<", "^", "^", "v", ">", "<", "v", "<", "<", ">", "<", "^", "v", ">", "<", ">", "^", "^", "^", "^", "^", "v", "^", "v", ">", ">", "^", "^", "v", ">", "<", "<", ">", "<", "<", "v", "v", ">", "^", "^", "^", "^", ">", "<", "^", ">", "v", ">", ">", "<", "<", "<", "^", "v", ">", "v", "^", "^", ">", "^", "v", "^", "<", "^", "^", "v", ">", "v", "<", "^", "<", "<", ">", ">", "^", "v", "<", "<", "<", "v", "<", "<", ">", ">", "v", "<", "^", "v", "^", ">", "<", "v", "v", "<", "v", "^", "v", ">", "v", "^", "<", "v", ">", ">", "<", "v", ">", "^", "v", "<", "<", "<", "v", "v", "^", ">", "v", "<", "v", ">", ">", "v", ">", ">", "v", ">", "<", "v", ">", "<", "v", "^", ">", "v", "^", "^", "v", ">", "^", "v", "^", ">", ">", ">", ">", "<", ">", "^", ">", "v", ">", "^", "v", "^", ">", ">", ">", ">", "v", "^", "<", "<", "v", "v", "<", "^", "v", ">", "<", "<", ">", "v", "<", "v", "^", "<", "^", "^", "<", "<", "v", "<", "^", "v", "^", "^", "v", "^", ">", "v", "v", ">", "<", "v", "v", "<", "v", "^", "<", "^", ">", ">", "<", "^", "^", ">", "^", "<", ">", "<", "^", "^", "<", "v", "<", ">", "<", "^", "v", "^", "v", "^", "<", "^", "^", ">", "^", "<", "v", ">", "<", "^", "<", "v", ">", "v", "^", "<", "<", "<", "^", "^", "v", "<", "v", ">", "^", "v", ">", ">", ">", "<", ">", "^", "^", ">", "v", "v", "<", "<", "^", "v", "^", "<", "<", "<", "<", "^", "^", ">", ">", ">", "v", ">", "v", "<", "<", "<", ">", "^", "^", ">", ">", ">", "v", ">", "^", ">", "v", ">", "v", "v", "<", "<", ">", "^", "<", "^", ">", "<", "v", "^", ">", "^", "^", "<", "^", "<", "v", "<", "<", "v", "<", "^", ">", ">", "^", "v", "^", "<", "v", "v", "v", ">", "<", ">", "v", "^", ">", "<", "<", "v", ">", "^", "^", "<", "v", "^", "v", "v", "^", "^", "^", "<", "v", "v", "v", "^", "<", "^", ">", "^", ">", "v", "v", ">", ">", "<", "^", "v", "<", "^", "<", "<", "v", "<", ">", "<", "<", ">", "<", "<", "^", "^", "<", ">", "<", ">", "<", "v", "v", ">", "v", ">", "^", "<", "v", ">", ">", "^", "<", ">", ">", "^", "^", "v", ">", "v", "v", "^", "<", "^", "^", "v", ">", ">", "<", "^", "v", "v", "^", "<", "<", "v", "^", "^", ">", "<", "<", ">", "v", "v", "<", "v", "<", ">", "<", "v", "<", ">", "<", "v", "^", "^", "^", "v", "^", "v", ">", "^", "v", "<", "^", "<", ">", "v", "^", "^", ">", ">", "<", ">", "^", "<", "^", "<", "v", "^", "<", "v", "^", "v", "^", ">", "v", "<", "<", "<", "^", "<", "<", "^", ">", ">", ">", "^", "^", "<", "^", "^", "v", ">", "v", "^", "<", "v", ">", "v", "v", "v", "v", ">", "v", "<", ">", ">", "<", "^", ">", "^", "<", "<", "<", "<", "v", "^", "<", "v", "<", ">", "v", "^", "^", "^", "v", "<", ">", "v", ">", "^", "<", "v", "<", "<", "^", "^", "v", "^", "^", "<", ">", "^", "<", "<", "v", "^", "^", "<", "^", "<", "v", ">", "v", ">", ">", "v", ">", ">", "v", "^", ">", "^", "<", "v", "v", "<", "<", "<", "<", "<", "^", "<", ">", "<", ">", "v", ">", "<", ">", ">", ">", "v", "^", ">", "^", "v", "<", "^", "<", ">", "<", "<", "v", "<", "^", "v", "^", "^", "<", "^", "<", ">", "<", "^", ">", "^", "^", "^", ">", "^", ">", "<", ">", "^", ">", "<", "<", "v", "v", ">", "^", "<", ">", "v", "v", "<", "<", "v", "^", "v", "<", "<", "<", "<", "<", ">", ">", ">", "v", "<", "v", "v", ">", "^", "v", ">", "^", ">", "^", ">", "^", "<", "^", ">", "<", ">", "v", "<", ">", "<", ">", ">", ">", "^", "^", "<", "v", ">", "^", "<", "^", "v", ">", ">", "^", "<", ">", "<", "v", "^", ">", "<", "v", "^", ">", ">", ">", "v", "<", "v", "^", "^", "v", "v", "v", "^", ">", "<", "v", "<", "v", ">", "v", "^", ">", "v", "v", "v", "v", ">", ">", ">", "<", "^", ">", "v", "<", ">", "^", "^", "^", ">", "v", ">", ">", "v", "^", "<", "v", "<", ">", "v", "^", ">", "^", "<", "v", "^", ">", "^", "<", "<", "^", ">", "^", ">", ">", "v", "<", "<", ">", "<", "<", "v", "^", "^", ">", ">", "v", "^", "<", "v", "^", "<", "^", "v", "^", ">", "^", ">", "v", "^", ">", "<", "<", "^", "<", "v", ">", "v", "^", "<", "v", ">", ">", "^", "^", "<", "<", "v", ">", "v", ">", "<", "<", "<", "^", "v", "^", "<", ">", "^", "<", ">", "^", ">", ">", "^", "<", "<", "v", ">", "^", "^", "<", ">", "^", "v", "<", ">", "v", "^", ">", ">", ">", "<", "<", "v", ">", ">", "<", "v", "^", ">", "^", ">", "<", "v", "^", "<", ">", "<", "v", ">", "<", ">", ">", "<", "v", "^", "<", ">", "v", "v", ">", "v", "^", "<", "^", "^", "^", ">", "v", ">", "^", "^", "<", "v", "v", ">", ">", "^", "v", "<", ">", "<", ">", ">", ">", "<", ">", ">", "<", "^", "<", ">", ">", "v", ">", "v", "^", "^", ">", "^", "^", "<", "^", "^", ">", "^", ">", ">", "v", ">", "v", "v", "^", "^", "v", "<", "^", "<", "^", "v", ">", "<", "v", "v", "<", "v", "<", "^", ">", ">", "<", "<", "v", "v", "v", "<", "<", ">", "<", "^", ">", "^", "v", ">", "^", "^", "^", "<", "<", ">", "v", "^", "<", "v", "<", "v", ">", "<", "<", "v", ">", "^", "^", "v", "<", "<", "<", ">", "^", "^", "v", "v", "<", "^", ">", "v", "v", ">", "^", ">", "^", "<", ">", "<", "<", ">", "v", "v", "<", "^", ">", "v", "^", "v", "v", ">", "^", "^", "^", "v", ">", "<", "<", "^", "v", "v", ">", "^", "v", "<", ">", "<", "v", "^", "^", "^", "^", "v", "^", ">", "v", "v", "^", "^", "<", "^", "<", ">", "^", "^", "v", "^", "<", "^", "v", "v", "<", "v", "<", "v", "v", "<", ">", "v", ">", "v", "^", "^", "<", ">", "^", "^", ">", "^", "^", ">", "^", "<", ">", "<", "<", "^", "v", ">", "^", ">", "<", "^", "^", "v", "v", "v", "v", "<", ">", "<", ">", "^", "<", "v", "^", "^", ">", "v", "<", ">", "^", ">", "<", ">", "v", ">", ">", "<", ">", "v", "v", "^", "<", "<", ">", "<", "<", ">", ">", "<", ">", "v", "<", "^", ">", "^", "v", ">", ">", "^", "^", "v", ">", "<", "<", "<", ">", ">", "^", "<", "^", "v", "^", "<", "v", "<", "<", "<", "v", "^", ">", "^", "^", "<", "^", "<", ">", "<", ">", "<", "^", ">", "<", "<", "<", "<", "^", "<", "v", "v", ">", "<", "v", "<", "<", ">", "<", "v", "v", "v", "^", "^", ">", "<", "v", "v", ">", "^", "<", "<", "v", "v", "<", "<", "<", "^", "v", "<", ">", ">", ">", "<", ">", "<", ">", ">", "v", ">", "<", "<", "<", "v", ">", "v", "v", "v", "v", "^", "^", "v", "v", "<", "v", ">", ">", "<", "<", "^", "v", "^", "v", "v", "v", ">", "<", ">", "<", "v", "v", ">", "v", ">", "<", ">", "v", "<", "<", "<", "^", "<", "v", "^", ">", ">", "<", "^", "^", ">", "v", "^", "<", "v", ">", ">", "<", "v", ">", "^", "^", "^", "v", "^", "v", ">", ">", "<", "<", "<", "v", "<", "^", "^", ">", ">", "^", "v", "<", ">", "v", "^", "<", "v", "v", "^", "^", "<", "<", "v", "<", "v", ">", "v", "<", "<", "<", "<", "^", "^", "^", "v", "^", "v", "<", "<", ">", ">", ">", "v", ">", ">", "v", "v", ">", "^", "^", "<", ">", "<", "^", "v", "<", "v", ">", "<", ">", ">", "v", "^", ">", ">", ">", ">", ">", "^", ">", "v", "^", "v", "^", "<", "^", "v", "^", "v", "^", "v", "v", "v", ">", "v", "<", "v", "<", "^", ">", "v", "v", "^", "<", "<", "v", ">", "v", "v", ">", ">", "v", "^", "^", "v", "v", "<", "^", "v", ">", ">", ">", ">", "v", "v", "<", ">", "v", "<", ">", "^", "^", "v", "v", "^", "<", "v", ">", "v", "^", ">", ">", "v", "v", "v", "<", "<", "<", "v", "<", "<", "^", "v", "v", "^", "^", "^", "^", ">", "v", ">", "v", ">", "^", ">", "<", "<", "<", "^", ">", "v", "^", ">", "<", "v", "<", "^", "<", "<", "<", "v", ">", "^", "v", "^", "^", "^", ">", "<", "<", ">", "<", "<", "<", "^", "^", "<", "^", "^", "<", ">", "^", "<", "v", ">", "^", "<", "v", "<", "<", "v", "<", "^", "^", "v", "v", ">", "v", "<", "^", "v", ">", "<", "v", ">", "<", "v", "<", ">", "^", "v", "<", "^", "<", "v", "<", "^", "<", "v", "^", "v", ">", "<", "v", ">", ">", "<", "v", "<", "v", "<", "<", ">", "^", "<", "v", "<", ">", ">", ">", "<", ">", "^", "v", "^", "v", "<", "<", "^", ">", "<", "v", "^", "<", "<", "v", "<", "v", "^", ">", "^", ">", "v", ">", "<", "^", ">", "^", "v", "v", "^", "^", "<", "v", "<", "v", "<", "v", "v", "<", "v", ">", "^", "v", "^", "v", "^", ">", "^", "<", "<", ">", ">", ">", ">", ">", "v", "^", "<", ">", "^", ">", "v", "^", "v", "v", "^", ">", "<", "<", ">", ">", "^", "^", "<", ">", "v", "^", ">", "<", "v", ">", "^", "v", "v", "v", "^", ">", "v", "^", "v", ">", "<", ">", "^", ">", "<", "<", ">", "v", ">", "v", "<", "^", "<", "^", ">", "<", "^", "^", "v", "v", "<", "<", ">", "<", ">", ">", "v", ">", ">", "v", ">", "<", "v", "v", ">", ">", "^", "v", "<", "<", ">", "^", "v", "v", "<", ">", "^", "v", "v", ">", "v", ">", "v", ">", "^", ">", "^", ">", ">", ">", "<", ">", "<", "<", ">", "v", "<", "v", ">", "^", "<", "<", "^", "v", "^", "^", "<", "<", "<", ">", "<", "v", ">", ">", "v", "v", "<", "^", "<", "v", "v", "<", "v", "v", "^", "<", "<", "v", "<", "<", "^", "v", ">", "<", "<", ">", "v", "<", "^", "^", "^", "<", "<", "^", "v", "^", ">", "^", "v", ">", "^", "^", "^", "v", "^", "v", ">", ">", ">", "v", ">", "v", "^", "v", ">", "^", ">", "^", "v", "v", "<", "^", "^", "<", "<", "v", "v", "^", ">", "^", "<", "<", "<", "v", "v", ">", "v", "^", "<", ">", "<", "<", "^", "v", "v", "v", "^", "^", ">", "<", ">", "v", "v", "^", "v", ">", "v", ">", "^", ">", "<", "<", "^", "^", "^", "^", "v", "v", "v", "^", "<", "v", "v", "v", ">", ">", "<", "^", "v", "<", "^", ">", "^", "<", ">", ">", "^", "<", "v", "<", "<", "v", "v", ">", ">", ">", "<", "v", ">", "v", "v", "^", "<", ">", ">", "<", "v", "^", "<", "v", ">", "^", "v", ">", "^", ">", "v", ">", "^", "<", "^", "<", "^", "^", "^", "<", "<", "v", "v", "v", "v", "^", ">", ">", ">", ">", ">", ">", ">", "v", ">", "<", "v", "v", ">", "^", "<", ">", "^", "^", "v", "^", ">", "<", ">", ">", "<", "^", "v", "^", "^", "<", "v", "^", "v", "<", "<", "<", "<", "v", "^", ">", ">", "<", ">", "v", "^", "v", "<", "v", "v", "<", ">", "<", "^", "<", "<", "<", "<", "^", ">", "^", "^", ">", "v", "v", ">", ">", "<", "^", "v", "<", "v", "^", "v", "<", "<", ">", "^", "v", "v", "v", ">", "v", "^", "^", ">", "<", "^", "^", "<", "^", "<", ">", ">", "^", "^", "v", "^", "v", "v", "<", ">", "v", "<", "^", "<", "<", "<", "v", "^", "^", "^", ">", "<", "v", "<", "v", "v", "<", "<", ">", "v", ">", "v", "<", ">", "^", "v", "^", ">", "<", "v", "^", "v", "v", "^", "v", "^", "^", "v", "<", "^", "^", "v", "^", "^", "v", ">", "<", ">", "v", "<", "^", "v", ">", ">", "<", "<", "^", "<", "^", "v", "^", ">", ">", "<", "<", "v", "v", "<", "<", "^", ">", "^", "<", "<", "v", "^", "<", ">", "^", ">", "<", ">", "v", ">", "<", "v", "v", "^", "v", ">", ">", "^", "<", "v", "<", "<", "<", "^", ">", "v", "v", "<", "^", "v", ">", "^", ">", "v", "<", "<", "v", ">", "^", ">", ">", "^", ">", ">", "v", "^", "<", "v", "<", "v", ">", ">", "^", "v", "<", "^", "v", "^", "v", ">", "<", "<", ">", "<", ">", "^", ">", "<", "<", "<", ">", "<", "v", "<", "v", "v", "v", "v", "<", "v", "^", "<", "v", "^", "v", ">", "<", ">", "^", "<", ">", "^", "^", "^", "^", "v", ">", "^", ">", "^", "v", "v", "v", "v", "v", ">", "v", ">", ">", "v", ">", "<", "<", "v", "v", "<", "<", "v", "<", ">", "<", "<", "^", ">", "<", "<", "^", "v", ">", "<", "<", "v", "<", "<", "<", "v", ">", "<", "v", "v", "<", "^", ">", "^", "v", ">", ">", ">", ">", "^", "v", "<", "^", "v", "<", "<", ">", ">", "^", ">", "^", "<", "<", "v", "v", "^", "<", "^", ">", "v", ">", ">", "<", "<", "^", ">", "^", ">", "^", "v", ">", "<", ">", "<", ">", "^", ">", "<", "<", "v", "<", ">", "v", "^", ">", "<", "<", "^", "v", "^", "<", "^", "^", ">", "<", "^", "^", "v", "^", "<", "<", "^", "v", "^", "^", ">", ">", "^", "v", "^", "<", "^", ">", "<", "v", "v", ">", "v", "^", "^", "<", "<", "^", "^", "^", "<", ">", "<", ">", "^", ">", "v", "^", "v", ">", "v", "^", ">", "^", "v", "^", "v", "v", ">", "^", "^", ">", ">", ">", ">", "^", "^", "<", "^", ">", ">", ">", "^", "^", "v", "<", "v", "v", "<", ">", "<", "^", "^", "<", "v", "v", "v", "<", "^", "^", "^", "v", "v", ">", "v", "<", "v", "<", "v", ">", ">", "<", "<", "<", ">", "^", ">", "^", "^", ">", "^", ">", "^", "v", "<", "<", "<", "<", ">", ">", "^", "<", "<", ">", ">", "<", "v", ">", ">", "v", ">", "^", "^", "<", "^", "v", "<", ">", "v", "<", ">", "v", "^", ">", "v", "^", ">", "<", "^", "<", "^", "^", ">", "<", "v", "^", "^", "v", ">", "^", "^", "v", "v", "<", "v", "<", "<", ">", ">", "<", "<", "v", "v", "<", ">", ">", "v", ">", "^", "<", "<", "<", "<", "v", "<", "<", "v", ">", "^", ">", "<", "^", "^", "<", "^", "<", "^", "<", "v", "^", "<", "<", "^", "^", "v", ">", "^", "v", "<", "^", ">", "v", "^", "v", "^", "<", "v", "^", "v", "v", "^", ">", "^", "^", ">", "<", "^", ">", "v", "^", "v", ">", ">", "^", "^", "v", "^", ">", "<", "v", "v", "<", "v", "<", "v", "<", "v", ">", ">", ">", ">", ">", "<", "<", ">", "<", "v", ">", "<", "v", "^", "v", "^", "<", "v", "^", "<", "^", "^", "<", "v", "<", ">", "^", ">", "v", ">", "v", "<", ">", ">", ">", "v", ">", "^", "^", "^", "^", ">", ">", "<", "v", "^", "v", "^", "^", "v", "<", "<", "<", ">", "v", "^", "<", "<", "^", "<", "v", ">", ">", ">", ">", "<", "^", "v", "^", "<", "<", ">", "<", "v", "<", ">", ">", "v", ">", "<", ">", "<", "v", "<", "v", "^", "v", ">", "^", "v", "^", "^", "<", "v", "<", "^", "<", "^", "^", "v", ">", ">", "<", "<", "v", "v", "<", "<", "v", "v", ">", "<", ">", ">", "^", ">", "^", ">", "v", "v", "<", "^", "<", ">", "^", "v", "v", "v", "^", "v", "<", "v", "^", "^", "<", ">", "v", "^", "v", ">", "^", "^", "<", "<", "<", "<", "<", ">", "^", "v", "^", ">", "^", "<", ">", "v", "^", "^", "<", ">", "v", "^", "v", "<", "v", "v", ">", "^", "<", ">", "v", "v", "^", "<", "^", "v", "v", ">", ">", "<", "v", "^", "^", "v", "v", "v", "v", "v", ">", ">", "<", "<", ">", "v", "<", "v", "v", "^", "<", "^", "<", "v", "v", "^", "v", "^", "<", ">", "^", "^", "<", "v", "^", "<", "v", "v", "^", "<", "v", "^", "v", "^", "v", "<", "<", "^", ">", "^", ">", "^", ">", "^", "^", ">", ">", ">", "v", "v", "v", ">", "^", ">", "v", ">", "v", ">", ">", ">", "^", ">", "v", "v", "^", ">", "<", ">", "^", ">", "<", ">", "v", ">", "^", "^", "<", "v", "^", ">", "^", ">", "<", "<", "v", ">", ">", "<", "<", "<", ">", ">", "v", "<", "v", "v", "v", "v", "^", ">", "^", "v", "<", "^", "<", ">", "^", "<", "v", ">", "^", "<", ">", "^", "^", "<", "<", ">", "<", ">", "^", "v", "<", ">", "<", ">", ">", ">", "^", "v", "v", "<", "^", "<", "<", "^", "<", "^", "v", ">", "v", "<", "<", "<", "<", "<", "^", "^", "v", "<", "^", "v", "<", ">", "<", "v", "<", "<", ">", "<", "^", ">", "v", ">", "^", "v", ">", ">", "^", "v", "^", ">", "<", "^", "^", "^", "^", "v", "<", ">", "<", ">", "<", ">", "v", "v", "^", "<", ">", "v", "v", "<", "^", "v", "<", "^", "^", ">", "<", "v", "^", "<", "^", ">", "<", "^", "^", "v", "^", "v", "^", "<", "^", "^", "<", "<", ">", "<", "v", ">", "v", "<", "v", "<", "v", "^", "<", "<", "^", "v", ">", "<", ">", "v", "^", "v", "<", "^", ">", "v", "v", "v", ">", "<", "<", "^", "v", ">", ">", "v", ">", "<", ">", "<", "v", "<", "<", "^", ">", ">", ">", "v", "<", "^", ">", ">", "v", ">", "^", "<", ">", ">", "<", ">", "^", "<", "v", "^", "v", "^", "<", "v", "v", "<", "<", "^", ">", "v", "<", "^", "^", ">", "^", "<", "^", "v", "<", "^", "<", "<", "^", "^", "v", "<", ">", ">", "^", ">", "^", ">", "^", "v", "^", "^", "v", "^", "v", "<", "v", "^", "^", "v", "v", "^", "<", "v", ">", ">", "v", ">", "<", "v", "v", "^", "v", "v", ">", "v", "<", ">", "v", "^", ">", "v", "^", "^", ">", "^", "^", ">", ">", "<", "v", ">", "<", "v", "^", "<", "<", ">", "<", "<", ">", ">", "<", "<", "^", "^", ">", ">", "<", "^", "v", "<", "v", "<", ">", "<", "<", ">", "<", "<", ">", "<", "v", "<", "v", "^", "<", "^", "<", "v", ">", ">", ">", ">", "<", "v", "^", "^", "v", "^", "^", ">", ">", ">", "^", "^", "^", "^", "^", "<", "<", "v", "v", "<", "^", ">", "<", ">", "^", "<", "<", "<", "v", "v", "^", "^", "^", ">", "^", ">", "<", "<", "<", "v", "<", "^", "v", ">", "^", "<", "v", "<", "^", ">", "^", "v", "v", "v", "<", "<", ">", "v", "v", ">", "<", "<", ">", "v", ">", "v", "^", "v", ">", ">", ">", ">", ">", "^", "<", ">", ">", "<", "^", "^", "^", ">", "<", "<", "<", "<", "v", ">", "<", "<", "v", "v", ">", ">", ">", "v", "<", "^", "<", "v", "v", "^", "v", "^", "<", "<", "v", ">", ">", ">", ">", "^", "^", "v", "v", "v", ">", "v", "<", ">", ">", "<", "v", ">", ">", ">", "v", ">", ">", "^", "v", "^", "v", "v", "v", "<", "<", ">", "v", "v", "v", "<", "<", "^", "^", "^", "<", ">", "v", "v", "^", "^", "v", "<", "<", ">", "^", "^", "^", ">", ">", "^", "<", "^", "v", "^", "<", "^", "^", ">", "v", "^", ">", "<", "v", ">", ">", "^", "<", "<", "^", "v", "<", "<", "v", "v", "<", "v", "v", ">", "v", "^", ">", ">", "^", ">", "v", "^", ">", "<", "^", ">", "<", ">", "^", ">", ">", ">", "v", "v", ">", ">", "<", "^", "^", "^", ">", "v", "v", "<", "<", "^", "^", "v", "v", ">", "<", "^", "<", ">", "^", ">", "^", "^", "<", "^", "<", ">", ">", "^", "v", "v", "^", ">", ">", "^", "v", ">", "<", ">", "v", "^", ">", ">", ">", "<", "<", "<", "^", "^", "<", "^", ">", "^", ">", "v", "<", "^", ">", "^", "<", "^", "^", "<", ">", ">", ">", "<", "^", "^", "<", ">", "^", "v", "^", "<", "<", "v", "v", "v", "<", "v", ">", "<", ">", "v", "v", "v", ">", "<", "v", ">", "v", "^", "v", "<", "<", "^", "<", "v", ">", "^", "^", ">", "<", "<", "^", "v", "v", "^", "v", ">", "v", ">", "v", "<", "<", "^", "v", "^", "<", "<", "<", ">", "^", ">", "<", ">", "<", "v", "v", "v", ">", "v", ">", "^", "v", "v", "^", "v", "<", ">", "v", "v", "^", ">", "^", "^", "<", "^", ">", "^", ">", "v", "^", "^", "<", "v", "v", "^", ">", "v", ">", "<", "v", "<", "<", "<", ">", "<", ">", ">", "^", "v", "<", "^", "<", ">", "<", ">", "<", "^", "<", "v", "^", "^", "<", "<", "^", "<", "v", ">", "v", "v", "<", ">", "<", "<", ">", "v", "^", "<", "v", "^", ">", "^", ">", "^", "^", "<", ">", "<", "<", ">", "^", "<", "^", "<", "<", "v", "^", "^", "v", "<", "v", "^", "<", ">", "<", "<", ">", "v", ">", ">", "<", "^", "<", "<", ">", "^", ">", "^", "v", "^", "v", "<", "v", "^", "v", ">", "<", "^", ">", ">", "^", "v", "<", "^", ">", "v", "<", "<", ">", "^", "^", "^", "<", "^", "v", ">", ">", ">", "^", "<", "v", ">", "v", "v", "v", "v", "<", "<", "v", "^", "<", "^", "^", ">", "v", "v", "v", "v", ">", "v", "<", ">", "v", "<", "v", ">", "<", "v", "v", "v", "v", "v", ">", "^", "<", ">", "<", ">", "v", "v", "v", "<", ">", "^", "<", "<", ">", "^", ">", ">", ">", ">", "v", "^", "<", "^", "<", ">", "<", "^", "v", ">", "v", "^", ">", ">", "v", ">", "<", ">", "^", ">", "<", "<", "v", "^", ">", "^", "<", "<", ">", "^", ">", "^", "v", "^", "<", "v", "^", "^", ">", ">", "^", "v", ">", "<", "v", ">", "^", "<", "v", ">", "<", ">", "v", "^", "<", "^", "^", ">", "v", ">", "^", ">", ">", ">", "v", "^", "v", ">", ">", ">", "^", "<", ">", "^", "<", ">", ">", ">", ">", ">", "v", ">", ">", "v", "v", "^", "v", "<", ">", "<", "<", "<", ">", "<", ">", "<", "v", ">", "<", "<", "v", "v", "<", "<", "v", "<", ">", "<", ">", ">", "v", "v", "<", "^", "<", "v", "v", ">", "^", "v", "<", "<", ">", "v", "^", "v", "<", "^", "v", "<", ">", "<", "v", ">", ">", "^", "v", ">", ">", "v", "v", "v", "^", "^", "v", ">", ">", "v", ">", "^", ">", "^", ">", "v", ">", "<", "v", ">", "<", "^", ">", "^", "^", "<", "<", ">", "^", "v", "<", "^", "<", "<", "<", "<", "^", ">", "v", "<", "^", ">", ">", "v", "^", "<", "^", "v", ">", "^", "v", "<", "<", ">", "^", ">", "^", "v", "v", "v", "<", "^", "^", "v", "v", ">", "^", "v", "v", ">", "v", "v", "<", ">", ">", "v", ">", "v", "<", "v", ">", ">", "v", "^", "<", "<", "<", "<", "<", "^", "^", "v", "^", ">", "v", ">", "^", "<", "<", "<", "v", "^", "v", ">", ">", "v", "<", "v", ">", "<", "v", "v", "v", ">", "<", "v", ">", "^", "<", "v", "v", ">", "<", "<", ">", ">", "^", "<", "^", ">", "^", "^", "<", ">", ">", ">", ">", "^", "<", "^", "v", "<", ">", "v", "^", "^", ">", "^", "<", "^", "^", "v", "<", "^", ">", "<", ">", ">", "<", "v", ">", ">", "^", "v", "^", "v", "v", "<", "^", "v", "<", "^", ">", "<", "<", "v", "v", "v", "<", ">", ">", "<", ">", ">", "<", "^", "^", ">", "^", "<", "^", "v", "^", "<", "^", "<", ">", "v", "<", "<", "<", "^", "v", ">", "v", "^", "^", "^", "<", ">", "v", "^", "<", "v", "^", ">", "^", "v", "^", ">", ">", "<", ">", "^", "^", "<", "v", "<", "^", ">", "<", "<", "^", "^", "v", "^", "<", ">", "^", "<", "^", "v", "v", ">", ">", ">", "<", "^", "v", ">", "<", "v", "^", ">", "v", "v", "<", "^", "v", "<", "<", "<", "v", "^", ">", ">", "v", ">", "v", "^", "v", ">", "^", "<", "v", ">", "v", "<", "^", "<", ">", "v", "^", "v", "v", "v", ">", "^", "v", "v", "<", "<", "<", "<", "v", ">", "<", "^", ">", "<", "v", ">", ">", "^", "^", ">", ">", "<", "^", "v", ">", "<", "<", "^", ">", "v", "^", "^", "<", "<", "v", "^", "^", "<", "^", "<", ">", "<", "<", "<", "<", ">", "^", "<", "v", "<", "^", "v", "^", ">", "v", "<", "<", "^", "^", ">", "v", "<", "<", "<", "<", "<", "v", "v", "v", "<", "v", "<", "^", ">", "^", ">", "^", ">", "^", ">", ">", "^", ">", ">", ">", "v", "^", "<", "<", "v", ">", ">", "^", "^", "v", ">", "<", "v", "v", "<", "^", "v", "<", "v", "<", "^", "^", "^", ">", ">", ">", "^", "v", "v", "v", "<", "^", "v", "<", ">", ">", ">", "v", "v", ">", "^", "^", ">", "<", "^", "v", ">", "v", "v", "^", ">", ">", "v", ">", "v", "^", "<", ">", "^", "<", "v", "v", ">", "^", ">", "^", "<", "<", "^", ">", "^", "^", "^", ">", ">", "^", "v", "v", ">", "^", "^", ">", "v", "v", "v", "v", "<", ">", ">", "^", "^", "^", "^", ">", ">", ">", "v", ">", "v", "^", "^", ">", "v", "v", ">", "v", "v", "^", "<", "<", ">", "^", ">", "<", "^", "<", "v", "^", "v", "v", "v", "v", ">", "<", "v", "<", ">", "<", "v", ">", ">", "<", "<", "<", "v", "<", "v", "<", "<", "^", "v", ">", "<", "v", "v", "^", "v", "v", "^", "<", ">", ">", ">", "^", ">", "^", "<", "v", "<", "^", "v", "<", ">", ">", "<", "^", "<", "v", "v", "^", "^", ">", "<", "v", ">", "v", "^", ">", "v", "^", "<", ">", "<", "v", "^", "v", "v", "v", ">", "^", ">", "v", "^", "^", "v", "^", ">", "^", "^", ">", "v", "<", "<", "<", "<", "^", "<", "<", "^", ">", ">", "v", ">", "v", "^", "^", "^", "<", "<", "<", "v", ">", ">", ">", "^", "^", "v", ">", "v", "<", "v", ">", "<", "<", "<", "<", "^", "^", "^", "v", ">", "^", "v", "v", "^", ">", ">", "<", ">", "^", "v", "<", "v", "<", "<", "^", "^", "<", "<", "<", "<", ">", "<", ">", ">", ">", "v", ">", "v", "v", "v", "^", "v", "^", "^", "v", "^", ">", ">", "v", "v", ">", "^", ">", ">", "<", ">", "^", "v", ">", "<", "^", "v", "^", ">", "<", "^", "^", ">", "v", "v", ">", "^", "<", "^", "<", "^", ">", ">", "<", "v", ">", "v", ">", ">", "<", ">", "<", ">", "<", "v", ">", "^", ">", "^", ">", "v", ">", "v", "v", ">", "v", "v", ">", "^", "^", ">", "v", ">", "v", "^", ">", "<", "v", "<", "<", "v", "^", "<", ">", "^", ">", "^", "v", ">", "^", "^", "v", ">", "^", "<", "^", "v", "<", ">", ">", "v", "v", "v", "^", "^", ">", "^", ">", "v", "v", "<", "v", "<", "v", "<", "<", "^", "<", "^", "<", "v", "^", "<", ">", "v", "^", "^", "v", "<", "^", "<", "^", ">", "v", "v", "^", "^", "<", "v", ">", "<", "^", "^", "^", ">", "v", ">", "v", "v", "<", "<", "v", ">", "v", "<", "<", "v", "^", "<", "v", "^", "^", ">", "<", "v", "v", ">", "^", ">", "^", "v", "^", "<", "^", ">", "v", "<", "^", ">", "^", "<", ">", "v", "v", "^", ">", "<", "v", "<", "^", ">", "<", ">", ">", "^", ">", ">", "^", "<", "^", ">", "<", "<", ">", "^", "<", "^", ">", "v", ">", "v", ">", "<", ">", ">", ">", "^", "<", "<", "^", ">", "<", "<", "v", ">", "<", "^", "v", "<", "v", ">", "<", ">", ">", "v", "v", "<", "^", ">", "<", "v", "^", ">", ">", "v", ">", "v", ">", ">", ">", ">", "^", "^", ">", "v", "<", "^", "v", "^", ">", ">", "<", "<", "^", "<", ">", ">", "v", ">", "<", "^", ">", "<", "<", "^", ">", "^", "<", "v", "v", "^", "^", "<", ">", "<", "<", ">", ">", "<", "v", "v", "v", "v", "^", ">", "^", "^", "<", ">", "<", "^", "^", "v", ">", "^", "^", ">", "v", "v", ">", "^", "v", "<", "v", ">", ">", "^", "^", "v", "^", "<", "v", "<", "^", ">", "<", "^", "<", "<", ">", ">", "v", "^", "^", "^", "<", "^", ">", "<", "^", "<", "<", ">", "<", "<", "v", "<", ">", ">", "<", "<", ">", "^", "v", ">", "v", "v", "v", "^", "v", "v", "v", "^", "^", ">", ">", "^", "<", "^", "<", "v", ">", ">", "<", ">", "^", "<", "<", "<", "<", "^", "^", "<", ">", ">", ">", "v", "^", "<", "<", "^", "^", "v", ">", ">", "<", ">", "<", "<", "v", "<", "^", ">", "v", ">", "^", "v", "<", "v", "^", ">", "v", ">", "v", "v", "^", ">", "<", ">", "^", ">", "<", "<", ">", "<", "^", "^", ">", "^", ">", "^", "<", ">", "<", ">", ">", "<", "^", "^", "<", "v", "^", "v", "<", "^", ">", "<", ">", "<", ">", "<", "v", ">", "^", "<", "v", "<", "<", "v", "^", "<", "<", "^", "^", "^", "v", "<", "v", "<", "^", "v", "<", ">", ">", ">", "<", "^", "v", "<", "<", "<", "<", ">", ">", "^", "v", ">", "^", "^", "v", "v", "^", "v", "^", "<", "<", "v", ">", ">", "<", "<", "<", "v", ">", "v", "v", ">", ">", "v", ">", ">", "^", "v", "^", "<", ">", ">", "v", "v", "^", "<", "^", ">", "^", "<", "<", ">", "v", "<", "<", "<", "^", "v", "v", "<", "^", "v", "v", "^", "v", "v", "<", "^", "v", "^", "^", "^", "<", "v", "v", "^", ">", "v", ">", ">", "v", "<", "^", "^", "<", "^", "^", "v", "v", "v", "<", "^", "^", "v", "<", ">", ">", ">", "^", ">", "v", "^", ">", "<", "v", ">", "^", "^", ">", "<", ">", "v", "v", ">", "v", ">", "v", "<", "<", "<", "^", "^", "v", "<", "^", "v", "v", "^", "v", ">", "^", "^", "^", ">", ">", ">", "^", "^", "<", ">", "^", "^", "<", "^", "v", "v", "v", ">", ">", "<", ">", "<", "<", ">", "<", "^", "<", "v", ">", ">", "<", "<", ">", "^", ">", "^", "^", "<", "v", "^", "v", "^", ">", "v", "v", ">", "v", "v", "<", "v", ">", "^", "^", "<", "^", "^", "<", "<", ">", "<", ">", "<", "<", "v", ">", "<", "v", "^", "^", ">", "v", ">", "<", "v", ">", "<", "<", ">", "v", ">", "v", "v", "v", "<", "^", "^", "^", "^", "<", "^", ">", ">", ">", "<", "<", "<", "^", "^", "^", "<", "^", ">", "v", "v", "^", "^", "v", ">", ">", "v", "<", "<", "v", "^", "^", "<", "v", "v", "^", "<", "^", ">", "v", "v", "v", "^", "^", "v", "^", "^", "<", "^", "<", "v", "v", ">", "v", "<", "^", "<", ">", "^", "<", "<", "v", "v", "^", "^", ">", "^", "v", ">", ">", "^", ">", "<", ">", "<", ">", "v", "<", "v", "<", "v", "<", ">", ">", "<", "v", ">", ">", ">", "^", "^", ">", ">", "v", "^", ">", "<", "v", "^", "^", "<", "^", ">", ">", "<", ">", "v", "<", ">", "<", "<", "v", "^", "v", "<", "v", "<", "<", ">", ">", ">", ">", "<", ">", ">", ">", ">", ">", "<", "<", "^", "v", "v", "v", "<", "<", ">", "<", ">", "<", "<", ">", "^", ">", "<", ">", "<", "<", "^", "^", "v", ">", "<", "<", "^", ">", "v", ">", "^", ">", "^", "v", ">", "v", ">", ">", "^", "^", "<", ">", "<", "^", ">", "v", "v", "<", "^", "<", "^", "v", ">", "v", "<", ">", "<", "^", "<", "<", "v", "<", ">", "<", "^", ">", "<", ">", "^", "^", "^", "<", "v", "^", "<", ">", "<", "v", "v", "v", "^", "^", "^", "<", ">", "^", "^", "v", ">", "<", "v", "<", "<", "<", "v", ">", ">", "<", ">", "^", ">", "^", "v", "v", "<", "v", "^", "<", "v", "v", ">", "v", ">", "v", "^", "v", "v", "<", "v", "^", "v", "<", "v", ">", "^", "v", "^", ">", "v", ">", "<", ">", "v", "^", ">", "<", ">", "v", ">", "^", "^", "^", "^", ">", "<", "<", "v", "v", "^", ">", "<", "v", "<", "<", "v", "<", "^", "<", ">", "^", "v", "^", "^", "^", ">", "^", "^", ">", "<", "<", "<", "v", "<", "^", "<", "v", "^", ">", "^", "^", ">", "v", ">", "<", "v", "v", "v", "v", "v", "^", "<", "^", "<", "v", "^", "^", ">", "v", "<", "^", "v", "^", "^", "v", "v", "^", "<", "<", "<", "<", "v", ">", "<", "^", ">", "v", ">", "v", "^", "v", ">", "<", ">", "<", "v", "^", "<", "<", "^", "<", "<", "v", "<", "^", "^", "^", ">", "^", ">", "<", "v", "^", "v", "^", "<", ">", "<", ">", "<", ">", "^", "v", "<", "v", ">", "^", "<", ">", "^", "v", ">", "^", "v", ">", "v", "^", "<", ">", "<", "^", ">", "<", "v", ">", ">", "v", "<", "<", "^", ">", "<", "^", "v", "v", "^", "<", ">", "<", "^", "<", ">", ">", "<", ">", ">", "<", "v", "<", "v", ">", "<", "<", "^", "^", "^", "^", ">", "v", "<", "^", "<", "^", "v", "v", "<", ">", "<", "^", "v", "v", ">", "<", "<", "^", "<", "<", "v", ">", "v", "^", ">", ">", "^", "v", ">", "^", ">", "v", "^", "^", "v", ">", "v", "v", "<", "v", ">", "v", "<", "<", "v", ">", "v", "<", ">", "^", ">", ">", "v", "v", "^", ">", ">", ">", "<", ">", "^", "v", "^", "^", "<", "^", ">", "v", "<", "<", "^", "<", "^", "^", "v", "^", "^", "v", "^", "<", "<", "v", "<", "<", "v", "<", "^", "v", "<", ">", "v", "v", "^", "<", "v", ">", ">", "<", "^", "v", "<", "^", ">", ">", ">", "v", "v", "^", "^", "<", "v", "^", "<", ">", "^", "^", "v", "<", "v", "<", "v", ">", ">", "^", ">", "<", "^", "^", "^", "<", ">", "<", "<", "^", "^", ">", "v", "<", "<", "v", "v", ">", ">", "<", "<", "v", "v", "v", ">", ">", "<", "<", "v", "^", "v", "^", ">", ">", "<", ">", "v", "v", "^", ">", "<", "<", "^", ">", "^", ">", "<", "^", "v", "<", "^", "<", "^", "<", "v", "v", "<", "^", "^", "v", "v", ">", "v", "^", "v", "<", "<", "<", "<", "<", "<", ">", "<", "<", "v", "v", "^", "v", "v", ">", "v", "v", ">", "v", "<", "^", ">", "<", "<", ">", "<", ">", "<", "<", ">", ">", "v", ">", ">", "<", "v", ">", "<", "^", ">", "^", "v", ">", "^", "v", "^", "<", ">", "v", "^", "^", "^", ">", "<", "^", "^", "<", "<", "<", "^", "v", "v", "^", "v", "v", ">", "^", "v", "^", "v", "v", "v", "^", "^", ">", "v", "^", "<", "v", ">", ">", "<", "^", "<", "^", "<", "^", "<", ">", "^", "v", "v", "<", "v", "v", "^", "v", "^", "^", ">", "^", "^", "^", ">", "v", "v", "^", "v", ">", ">", ">", "<", "<", "<", "^", "<", ">", ">", "v", ">", "v", "<", "^", "^", "<", ">", "<", "v", ">", ">", ">", "<", ">", "<", "^", "v", "^", "^", "<", "<", ">", "<", "<", "<", ">", "^", "<", "^", "^", "v", "^", ">", "v", "<", "v", "v", "^", "^", "^", "^", ">", ">", "<", "v", ">", "<", "^", "<", "<", "v", "<", "<", "v", "<", ">", "^", ">", "^", ">", ">", "^", "<", ">", "^", "v", ">", "<", ">", ">", "^", "<", "v", "<", "v", "v", "^", "<", "<", "^", "<", "<", ">", "v", "v", "^", ">", "^", "^", "<", "<", "<", "^", "v", "<", ">", ">", "^", "v", "<", ">", "v", "v", "v", "<", "<", "^", "^", "<", "<", ">", "<", "v", "v", "v", "v", "v", "<", "<", "^", "<", "^", "^", "<", ">", ">", ">", ">", "^", "^", "<", ">", "<", ">", "^", ">", "<", ">", "^", "v", "<", "v", "^", "^", "v", "<", "<", "v", "^", "^", "<", "^", "<", "^", ">", "v", "<", "v", ">", "^", "v", "<", "^", ">", "^", "v", "<", ">", "v", "^", "v", "v", "<", ">", "<", "<", "v", ">", "^", "v", "v", "v", "<", ">", "<", "<", "^", ">", ">", "^", "^", ">", "<", ">", "<", ">", "^", "<", ">", "^", ">", "v", "^", "^", "v", "^", ">", "<", "v", "<", ">", "<", ">", ">", "v", ">", "<", "v", "^", "<", "v", "<", "<", "v", ">", ">", "<", "^", "v", ">", "^", "<", "v", "<", "^", ">", "v", "<", "<", "<", ">", "v", "v", "v", "^", "<", "^", "^", "v", "<", "v", "v", "v", "^", "v", "v", "<", ">", "^", "<", ">", "^", ">", ">", "v", "<", ">", "^", "^", ">", "<", ">", "<", "v", ">", ">", "^", ">", "<", "^", "^", "v", "v", ">", ">", "<", "<", ">", ">", "<", "v", ">", "<", "^", ">", "<", ">", ">", "^", "v", "v", ">", "v", "<", "v", "v", "<", ">", "v", "^", "v", "^", "^", "v", "<", "<", "^", "^", "<", "v", "v", ">", "v", "^", "^", "v", "v", "<", "<", "^", "<", "<", ">", "<", ">", "^", "<", ">", "<", "v", "^", ">", "<", "^", "<", "^", "<", ">", ">", "^", "v", "v", "<", "v", ">", "v", ">", ">", "^", "<", "^", "v", "v", ">", "^", "v", "v", "^", ">", "v", ">", "^", "<", ">", "<", "^", ">", "<", "^", "<", ">", "v", "^", "v", "^", "^", "<", "^", "<", ">", "^", "^", "v", ">", ">", ">", "<", "^", "v", "<", ">", "v", "^", "v", "<", "<", "^", ">", "v", ">", "<", ">", "^", "^", "<", "<", "v", "^", "v", "<", ">", "v", "^", ">", ">", "v", ">", "^", "<", ">", "<", "v", "v", "^", "v", "<", "v", "^", "<", "v", "v", "<", ">", "^", ">", "^", ">", "^", "<", "^", ">", "v", ">", "<", "<", ">", "<", ">", "<", ">", "<", "<", "<", ">", "^", ">", ">", "<", "v", "^", "^", ">", "<", "^", ">", ">", "<", "v", ">", ">", "^", "v", "<", "<", "<", "^", "<", "<", ">", "^", ">", "<", "<", "^", ">", ">", ">", ">", ">", "v", "<", "^", ">", "v", ">", ">", "v", "^", "<", "v", "^", ">", "^", ">", "v", "^", "^", ">", "<", ">", "v", "^", "v", "^", "v", "v", "v", "v", "<", "v", "<", "v", "<", ">", "v", ">", ">", ">", "<", "<", ">", "^", "<", "<", "v", "v", "v", ">", "<", "v", "^", "v", "^", ">", "v", "<", "v", "^", "^", "^", ">", ">", "^", "<", "v", ">", ">", "^", "v", "v", "^", "^", "<", "v", "v", ">", "<", "^", ">", ">", "v", "<", "v", "^", ">", "<", "v", "v", "v", "<", "^", "^", ">", ">", "v", "v", "^", "v", "<", "^", "<", ">", "^", "v", "^", "<", "<", "v", ">", "^", "<", "<", ">", "<", "<", "<", "^", "v", "v", "v", "^", ">", "^", "^", "<", "<", ">", ">", ">", "<", "v", "<", "^", ">", "v", "v", "<", "<", "^", "<", ">", "<", "^", "v", "<", "^", "<", ">", "<", "<", "^", "^", ">", "v", "v", "^", "v", ">", "v", "^", "^", "^", ">", ">", ">", ">", "^", ">", "v", "v", "<", "<", "v", ">", "v", ">", ">", "^", "^", "v", "^", "^", ">", "<", ">", "v", "<", "<", "^", ">", "<", "^", "<", "v", "^", ">", ">", "^", ">", "v", "^", "v", ">", ">", "<", "^", "v", "^", ">", "v", "<", "<", "^", "<", "v", ">", "<", "^", "<", "^", "<", "^", "<", ">", ">", "v", "^", "^", ">", ">", "<", "<", "<", ">", "v", "<", "v", ">", "v", "<", "^", "^", ">", "^", "v", "v", "<", "<", "<", "^", "^", "<", "v", "<", ">", "v", "^", "^", ">", "v", "<", "<", ">", "<", "^", "<", ">", "^", "^", ">", "^", "v", "<", ">", "v", ">", ">", "<", "^", "^", "^", "v", "v", "^", ">", "^", ">", "<", ">", "v", "^", "^", "<", "v", "^", "<", ">", ">", "^", "<", "v", "^", "^", "^", ">", "<", "v", "<", ">", "<", "v", "v", "v", ">", "v", ">", "^", "<", "<", "^", "v", ">", "^", ">", ">", ">", ">", ">", "<", "^", "^", "^", "<", ">", "v", "<", "v", ">", ">", "v", "^", "^", "<", "^", "v", "^", ">", ">", "v", "^", "<", "<", "v", "^", ">", "^", ">", "v", "^", "v", ">", ">", ">", ">", "^", ">", ">", "v", "v", "<", ">", "^", "<", "^", "v", ">", "<", "v", "^", "^", "<", ">", "v", ">", "v", "^", "v", ">", "^", "<", ">", "^", ">", "v", "<", "v", "v", ">", "<", "<", "v", "<", "^", "v", "<", "<", "^", "v", "<", "<", "^", "v", "^", "v", "v", "<", ">", "<", ">", "^", "<", ">", ">", "^", "<", ">", ">", "^", "<", ">", "v", "^", ">", "<", "<", ">", "^", "v", ">", ">", "^", "^", "^", "^", "<", "<", "^", "v", ">", "<", ">", "^", "<", "^", ">", "^", "^", "v", ">", "<", "^", "^", "<", "^", "<", "v", "^", "<", "^", "^", "v", ">", "^", "v", ">", "<", "v", "v", ">", "v", "<", "<", "^", ">", "^", ">", ">", "<", "<", "^", "^", "^", "v", "v", "v", "<", "<", "^", "v", "v", "<", "^", "^", ">", "v", "^", "^", "v", "v", "^", "<", "^", "^", "<", "<", "^", "^", ">", ">", "^", "^", "<", "v", "v", "<", "v", "<", "<", "v", "^", "^", "<", "<", "v", "<", "^", "v", "v", "v", "<", "<", ">", "<", "<", "v", ">", "v", "^", ">", ">", "v", "^", "^", ">", "v", "<", "^", ">", "^", ">", "<", "v", "<", "^", ">", "v", "<", "v", "^", "v", "<", "v", "^", "^", "<", ">", "v", ">", ">", "<", "<", "v", "^", "v", "^", "v", "<", "^", "^", "^", ">", "<", "v", ">", "v", ">", "<", "^", "<", "^", "v", "v", ">", "^", "^", "v", ">", "^", ">", "v", "<", "<", "^", "v", "v", ">", "<", "^", "^", "^", "^", "^", "^", ">", "<", "<", "^", ">", ">", ">", "^", "v", "<", ">", "^", "^", "v", "<", "<", "<", ">", ">", "<", "<", "<", "v", "^", ">", "<", ">", "^", "<", "<", "<", "v", ">", "v", "^", ">", "^", "^", "^", "<", "^", ">", "<", "v", ">", "^", "^", "^", "v", "<", "<", ">", "v", "<", "v", ">", "^", "<", "v", "^", ">", ">", "<", "<", "^", "^", "<", "<", "^", "v", "<", "<", ">", "^", "v", ">", ">", "v", "v", ">", ">", "<", "v", "<", "^", ">", "<", "v", "<", "<", "<", "v", "v", "v", ">", "<", "v", "v", ">", "<", "<", "^", "v", "^", "^", "<", "v", "^", "v", "v", "v", "<", "^", "v", ">", ">", "v", "^", "v", "<", "v", "^", "v", "^", ">", ">", "^", "^", "v", "<", ">", "<", "^", "^", "^", "<", "^", "^", ">", "v", ">", "^", "<", ">", "<", "v", "<", "<", "v", "^", "^", ">", "v", "v", "v", "^", "v", "^", "^", "<", "v", "<", "v", "^", "v", ">", "^", ">", "v", "^", "^", "v", "<", "^", ">", "<", "v", "^", "^", "<", "<", "<", "<", ">", "^", "^", ">", ">", "^", "v", "<", ">", "<", "^", ">", "<", "^", "<", "<", "^", "v", "v", "^", "<", ">", "<", "<", ">", "v", "^", "v", "v", "^", "<", "v", "^", "<", ">", "<", "<", "<", "^", "^", ">", "v", "<", "<", ">", ">", ">", "v", "<", ">", "v", "<", ">", "<", "<", "<", "v", ">", "^", "v", ">", "^", "^", "v", ">", "^", "^", ">", "v", ">", "^", ">", "^", ">", "v", "<", ">", ">", "<", ">", "^", ">", "^", ">", "^", "v", "v", "v", "v", "<", "^", "<", "v", "^", "<", ">", "^", "^", "^", "^", "v", ">", "v", ">", ">", "<", "<", "v", ">", ">", "^", "<", "v", "v", ">", ">", "^", "<", "v", "<", "^", "v", "^", "v", "v", ">", ">", "<", ">", "^", "^", ">", "v", "^", "^", "<", "<", ">", "<", "^", "<", "v", ">", ">", "<", "<", "<", "<", ">", "v", ">", "^", "^", ">", "<", "v", "^", "^", "v", "<", "<", "v", "<", ">", "<", "v", "v", "^", "v", ">", "^", "<", "v", "^", "^", ">", "v", "<", "<", "<", "<", "v", "^", "v", "<", "<", ">", ">", "v", "v", "<", "v", "<", "<", "<", "v", ">", "v", ">", ">", "v", "<", "^", "v", ">", ">", "v", ">", "v", "^", "<", "<", "<", ">", "^", ">", "^", ">", "^", "<", ">", "v", "<", "^", "^", "v", "v", ">", "<", "^", "v", "<", "<", "^", "v", "<", "v", "v", "v", "^", "v", "v", ">", "v", "<", "^", "<", "<", "^", "^", "v", "v", "^", "^", ">", "v", "v", "<", "^", ">", "v", ">", "^", "^", "<", "<", "v", "^", "<", "<", "^", "^", "v", "<", ">", "^", ">", "v", "<", "<", "^", "^", "<", "^", ">", "^", "^", "^", "v", "^", "^", "<", "v", "<", "^", "<", "^", ">", ">", ">", "v", "^", "v", "v", "^", "<", "^", "v", ">", "^", "<", ">", "^", "<", "^", "<", "v", "<", "^", "v", ">", ">", ">", "^", "<", "^", "v", "<", ">", "<", "v", "<", "^", "v", "v", "<", "v", ">", "v", ">", "<", "v", "^", "v", "^", "^", "v", "<", "v", "v", ">", "<", "^", "^", "<", ">", "<", ">", "^", ">", "v", "<", "^", "<", "^", "v", "v", ">", ">", "<", "^", "v", ">", "<", "v", "<", ">", "^", "<", ">", "^", "^", ">", "^", "<", ">", "<", "<", "<", "v", "^", ">", ">", "^", "<", ">", ">", "<", "<", ">", "<", "v", ">", "v", "v", "v", "^", "<", "<", "^", "<", "v", "v", "<", "v", ">", "<", "v", "<", "^", "<", "<", "<", "^", ">", "^", ">", ">", "v", "<", "^", ">", ">", "v", "v", ">", "^", "v", "^", "^", "^", "v", "<", ">", "v", "<", ">", ">", "<", ">", "^", "v", "v", "^", ">", "v", "v", "^"]
- mainTask : Task ExitCode [] [ Write [Stdout]]
- mainTask =
- houses : Dict { x : Int *, y : Int * } (Int *)
- houses =
- starterMap =
- Dict.insert Dict.empty { x: 0, y: 0 } 1
- graphemes
- |> List.walk {map: starterMap, pos: {x: 0, y: 0}} \{map, pos}, c ->
- newPos =
- when c is
- "^" -> {pos & y: pos.y + 1}
- "v" -> {pos & y: pos.y - 1}
- ">" -> {pos & x: pos.x + 1}
- "<" -> {pos & x: pos.x - 1}
- _ -> pos
- newMap =
- map
- |> Dict.update newPos \value ->
- when value is
- Missing -> Present 1
- Present n -> Present (n + 1)
- {map: newMap, pos: newPos}
- |> .map
- folksWhoGainedPresent : Nat
- folksWhoGainedPresent =
- Dict.len houses
- folksWhoGainedPresentStr : Str
- folksWhoGainedPresentStr =
- Num.toStr folksWhoGainedPresent
- Stdout.line "Folks: \(folksWhoGainedPresentStr)"
- |> Program.exit 0
Advertisement
Add Comment
Please, Sign In to add comment