Guest User

roc

a guest
Oct 23rd, 2022
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. app "01"
  2.     packages { pf: "cli-platform/main.roc" }
  3.     imports [pf.Stdout, pf.Task.{ Task }, pf.Program.{ Program, ExitCode }]
  4.     provides [main] to pf
  5.  
  6. main : Program
  7. main = Program.noArgs mainTask
  8.  
  9. # Str.graphemes is not available on the latest nightly build, so I converted it myself
  10. graphemes : List Str
  11. graphemes =
  12.     [ "^",    ">",    "<",    "^",    ">",    ">",    ">",    "^",    "<",    "^",    "v",    "<",    "v",    "^",    "^",    "v",    "v",    "^",    ">",    "<",    "<",    "^",    "<",    ">",    "<",    "<",    "v",    "v",    "^",    "<",    ">",    "^",    "<",    "^",    "v",    ">",    "^",    "v",    "v",    "<",    ">",    "v",    ">",    "<",    "v",    "v",    "^",    "^",    "<",    ">",    ">",    "^",    "^",    "^",    "v",    "<",    "<",    "v",    "v",    ">",    "<",    "<",    "^",    ">",    "^",    "<",    "^",    "v",    "<",    "^",    ">",    "^",    "v",    ">",    "<",    "<",    "<",    "v",    "^",    "<",    "v",    "<",    "<",    "<",    "v",    "<",    "<",    "v",    "v",    "<",    "v",    "<",    "^",    ">",    "<",    "^",    ">",    ">",    "<",    ">",    "v",    ">",    "v",    "^",    "<",    "<",    "v",    "^",    "^",    "<",    "^",    "v",    "<",    ">",    "<",    "^",    ">",    "^",    "<",    "<",    "^",    "^",    "^",    ">",    "v",    ">",    ">",    "v",    "^",    "^",    "<",    "v",    ">",    ">",    "^",    ">",    "v",    "v",    ">",    "<",    "v",    ">",    ">",    "^",    ">",    ">",    "v",    "^",    ">",    "^",    "v",    ">",    "^",    "<",    "^",    "^",    "v",    ">",    "^",    ">",    "^",    "^",    "v",    "<",    "v",    ">",    "^",    "^",    "<",    "v",    "<",    ">",    ">",    "v",    "^",    "^",    "v",    ">",    "<",    "^",    ">",    "<",    "^",    "<",    "<",    ">",    "v",    "^",    "<",    "^",    "<",    "^",    "v",    "<",    "v",    ">",    "v",    "^",    ">",    ">",    ">",    "v",    "^",    "v",    "^",    ">",    "^",    "<",    ">",    "^",    "v",    "<",    "^",    "^",    "v",    "v",    "<",    "v",    ">",    "^",    ">",    "^",    "<",    ">",    "^",    "^",    "<",    "v",    "v",    "^",    "<",    ">",    "<",    "<",    "v",    "<",    "^",    "<",    "^",    "^",    ">",    "v",    "v",    "<",    ">",    "^",    ">",    "v",    "<",    "^",    ">",    "^",    "v",    ">",    "v",    "^",    ">",    "^",    "v",    "<",    ">",    "^",    ">",    "<",    ">",    ">",    "<",    "v",    "v",    "<",    ">",    "v",    "^",    "v",    "<",    ">",    "<",    ">",    "v",    "^",    "v",    ">",    ">",    ">",    ">",    "v",    "^",    "^",    ">",    "^",    ">",    "<",    "^",    "^",    "<",    "v",    "<",    "^",    ">",    "<",    "^",    "<",    "v",    ">",    ">",    "^",    "v",    "^",    "v",    "<",    ">",    "v",    "<",    "<",    "<",    "^",    "<",    "<",    "v",    "v",    "v",    "v",    "<",    "<",    "v",    "^",    "v",    "v",    "^",    ">",    "v",    "^",    "^",    "^",    "<",    "^",    "^",    "^",    "<",    "v",    ">",    ">",    "v",    "<",    "^",    "v",    ">",    ">",    ">",    ">",    ">",    "v",    "<",    "^",    "^",    "^",    "^",    ">",    "v",    "<",    "^",    "<",    ">",    "<",    "v",    ">",    ">",    ">",    ">",    ">",    "<",    "v",    ">",    ">",    "v",    "^",    "v",    "v",    "v",    "v",    "^",    "^",    "<",    "v",    "^",    "<",    ">",    "^",    "v",    "<",    "^",    "v",    "^",    ">",    "v",    ">",    "<",    "^",    ">",    "^",    "v",    "<",    "<",    ">",    ">",    "v",    "v",    "^",    ">",    "v",    ">",    "v",    "^",    "^",    ">",    "v",    "v",    "^",    "<",    "^",    "v",    "v",    "v",    "<",    ">",    ">",    "<",    ">",    ">",    "<",    ">",    "<",    "^",    "^",    "^",    "<",    "v",    "<",    ">",    "^",    "<",    "^",    "^",    "^",    "<",    "v",    ">",    "<",    "^",    "v",    ">",    ">",    "v",    ">",    "^",    "v",    "<",    "v",    "^",    "v",    "v",    "^",    "<",    ">",    "^",    "^",    "^",    ">",    "v",    "^",    "^",    "^",    "v",    ">",    ">",    "^",    "v",    "^",    "^",    "<",    "^",    ">",    ">",    "^",    ">",    "^",    "<",    "<",    "v",    ">",    ">",    ">",    "^",    "^",    "<",    ">",    ">",    "^",    "v",    "v",    ">",    "v",    "^",    "<",    "^",    ">",    ">",    ">",    ">",    "<",    "v",    "<",    ">",    "<",    ">",    "<",    "^",    "^",    "v",    "<",    ">",    "<",    "<",    "<",    "<",    "^",    "^",    "<",    ">",    ">",    "^",    "<",    "v",    "v",    "v",    "^",    ">",    "<",    ">",    "v",    "<",    "v",    "<",    "<",    "<",    "<",    ">",    "<",    "v",    "<",    "<",    "v",    ">",    "v",    "<",    "v",    "^",    ">",    "<",    "v",    "v",    "<",    "v",    "^",    ">",    "^",    "<",    "^",    ">",    "v",    "^",    "^",    ">",    "<",    "^",    "v",    ">",    "^",    "^",    ">",    "v",    "<",    ">",    "^",    "v",    "^",    "<",    ">",    "^",    "v",    "v",    "^",    ">",    "<",    "v",    "^",    "^",    "v",    "v",    ">",    "v",    "v",    "v",    ">",    "v",    ">",    "^",    "<",    "v",    "v",    "^",    ">",    ">",    "^",    ">",    ">",    "^",    ">",    ">",    "<",    ">",    ">",    ">",    "^",    "^",    "^",    "^",    "v",    "<",    "v",    "v",    ">",    "^",    "<",    ">",    "v",    "^",    "^",    ">",    "<",    "v",    "^",    ">",    "^",    "<",    ">",    "v",    "<",    "^",    "^",    "v",    ">",    "<",    "v",    "<",    "<",    ">",    "<",    "^",    "v",    ">",    "<",    ">",    "^",    "^",    "^",    "^",    "^",    "v",    "^",    "v",    ">",    ">",    "^",    "^",    "v",    ">",    "<",    "<",    ">",    "<",    "<",    "v",    "v",    ">",    "^",    "^",    "^",    "^",    ">",    "<",    "^",    ">",    "v",    ">",    ">",    "<",    "<",    "<",    "^",    "v",    ">",    "v",    "^",    "^",    ">",    "^",    "v",    "^",    "<",    "^",    "^",    "v",    ">",    "v",    "<",    "^",    "<",    "<",    ">",    ">",    "^",    "v",    "<",    "<",    "<",    "v",    "<",    "<",    ">",    ">",    "v",    "<",    "^",    "v",    "^",    ">",    "<",    "v",    "v",    "<",    "v",    "^",    "v",    ">",    "v",    "^",    "<",    "v",    ">",    ">",    "<",    "v",    ">",    "^",    "v",    "<",    "<",    "<",    "v",    "v",    "^",    ">",    "v",    "<",    "v",    ">",    ">",    "v",    ">",    ">",    "v",    ">",    "<",    "v",    ">",    "<",    "v",    "^",    ">",    "v",    "^",    "^",    "v",    ">",    "^",    "v",    "^",    ">",    ">",    ">",    ">",    "<",    ">",    "^",    ">",    "v",    ">",    "^",    "v",    "^",    ">",    ">",    ">",    ">",    "v",    "^",    "<",    "<",    "v",    "v",    "<",    "^",    "v",    ">",    "<",    "<",    ">",    "v",    "<",    "v",    "^",    "<",    "^",    "^",    "<",    "<",    "v",    "<",    "^",    "v",    "^",    "^",    "v",    "^",    ">",    "v",    "v",    ">",    "<",    "v",    "v",    "<",    "v",    "^",    "<",    "^",    ">",    ">",    "<",    "^",    "^",    ">",    "^",    "<",    ">",    "<",    "^",    "^",    "<",    "v",    "<",    ">",    "<",    "^",    "v",    "^",    "v",    "^",    "<",    "^",    "^",    ">",    "^",    "<",    "v",    ">",    "<",    "^",    "<",    "v",    ">",    "v",    "^",    "<",    "<",    "<",    "^",    "^",    "v",    "<",    "v",    ">",    "^",    "v",    ">",    ">",    ">",    "<",    ">",    "^",    "^",    ">",    "v",    "v",    "<",    "<",    "^",    "v",    "^",    "<",    "<",    "<",    "<",    "^",    "^",    ">",    ">",    ">",    "v",    ">",    "v",    "<",    "<",    "<",    ">",    "^",    "^",    ">",    ">",    ">",    "v",    ">",    "^",    ">",    "v",    ">",    "v",    "v",    "<",    "<",    ">",    "^",    "<",    "^",    ">",    "<",    "v",    "^",    ">",    "^",    "^",    "<",    "^",    "<",    "v",    "<",    "<",    "v",    "<",    "^",    ">",    ">",    "^",    "v",    "^",    "<",    "v",    "v",    "v",    ">",    "<",    ">",    "v",    "^",    ">",    "<",    "<",    "v",    ">",    "^",    "^",    "<",    "v",    "^",    "v",    "v",    "^",    "^",    "^",    "<",    "v",    "v",    "v",    "^",    "<",    "^",    ">",    "^",    ">",    "v",    "v",    ">",    ">",    "<",    "^",    "v",    "<",    "^",    "<",    "<",    "v",    "<",    ">",    "<",    "<",    ">",    "<",    "<",    "^",    "^",    "<",    ">",    "<",    ">",    "<",    "v",    "v",    ">",    "v",    ">",    "^",    "<",    "v",    ">",    ">",    "^",    "<",    ">",    ">",    "^",    "^",    "v",    ">",    "v",    "v",    "^",    "<",    "^",    "^",    "v",    ">",    ">",    "<",    "^",    "v",    "v",    "^",    "<",    "<",    "v",    "^",    "^",    ">",    "<",    "<",    ">",    "v",    "v",    "<",    "v",    "<",    ">",    "<",    "v",    "<",    ">",    "<",    "v",    "^",    "^",    "^",    "v",    "^",    "v",    ">",    "^",    "v",    "<",    "^",    "<",    ">",    "v",    "^",    "^",    ">",    ">",    "<",    ">",    "^",    "<",    "^",    "<",    "v",    "^",    "<",    "v",    "^",    "v",    "^",    ">",    "v",    "<",    "<",    "<",    "^",    "<",    "<",    "^",    ">",    ">",    ">",    "^",    "^",    "<",    "^",    "^",    "v",    ">",    "v",    "^",    "<",    "v",    ">",    "v",    "v",    "v",    "v",    ">",    "v",    "<",    ">",    ">",    "<",    "^",    ">",    "^",    "<",    "<",    "<",    "<",    "v",    "^",    "<",    "v",    "<",    ">",    "v",    "^",    "^",    "^",    "v",    "<",    ">",    "v",    ">",    "^",    "<",    "v",    "<",    "<",    "^",    "^",    "v",    "^",    "^",    "<",    ">",    "^",    "<",    "<",    "v",    "^",    "^",    "<",    "^",    "<",    "v",    ">",    "v",    ">",    ">",    "v",    ">",    ">",    "v",    "^",    ">",    "^",    "<",    "v",    "v",    "<",    "<",    "<",    "<",    "<",    "^",    "<",    ">",    "<",    ">",    "v",    ">",    "<",    ">",    ">",    ">",    "v",    "^",    ">",    "^",    "v",    "<",    "^",    "<",    ">",    "<",    "<",    "v",    "<",    "^",    "v",    "^",    "^",    "<",    "^",    "<",    ">",    "<",    "^",    ">",    "^",    "^",    "^",    ">",    "^",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    "v",    "v",    ">",    "^",    "<",    ">",    "v",    "v",    "<",    "<",    "v",    "^",    "v",    "<",    "<",    "<",    "<",    "<",    ">",    ">",    ">",    "v",    "<",    "v",    "v",    ">",    "^",    "v",    ">",    "^",    ">",    "^",    ">",    "^",    "<",    "^",    ">",    "<",    ">",    "v",    "<",    ">",    "<",    ">",    ">",    ">",    "^",    "^",    "<",    "v",    ">",    "^",    "<",    "^",    "v",    ">",    ">",    "^",    "<",    ">",    "<",    "v",    "^",    ">",    "<",    "v",    "^",    ">",    ">",    ">",    "v",    "<",    "v",    "^",    "^",    "v",    "v",    "v",    "^",    ">",    "<",    "v",    "<",    "v",    ">",    "v",    "^",    ">",    "v",    "v",    "v",    "v",    ">",    ">",    ">",    "<",    "^",    ">",    "v",    "<",    ">",    "^",    "^",    "^",    ">",    "v",    ">",    ">",    "v",    "^",    "<",    "v",    "<",    ">",    "v",    "^",    ">",    "^",    "<",    "v",    "^",    ">",    "^",    "<",    "<",    "^",    ">",    "^",    ">",    ">",    "v",    "<",    "<",    ">",    "<",    "<",    "v",    "^",    "^",    ">",    ">",    "v",    "^",    "<",    "v",    "^",    "<",    "^",    "v",    "^",    ">",    "^",    ">",    "v",    "^",    ">",    "<",    "<",    "^",    "<",    "v",    ">",    "v",    "^",    "<",    "v",    ">",    ">",    "^",    "^",    "<",    "<",    "v",    ">",    "v",    ">",    "<",    "<",    "<",    "^",    "v",    "^",    "<",    ">",    "^",    "<",    ">",    "^",    ">",    ">",    "^",    "<",    "<",    "v",    ">",    "^",    "^",    "<",    ">",    "^",    "v",    "<",    ">",    "v",    "^",    ">",    ">",    ">",    "<",    "<",    "v",    ">",    ">",    "<",    "v",    "^",    ">",    "^",    ">",    "<",    "v",    "^",    "<",    ">",    "<",    "v",    ">",    "<",    ">",    ">",    "<",    "v",    "^",    "<",    ">",    "v",    "v",    ">",    "v",    "^",    "<",    "^",    "^",    "^",    ">",    "v",    ">",    "^",    "^",    "<",    "v",    "v",    ">",    ">",    "^",    "v",    "<",    ">",    "<",    ">",    ">",    ">",    "<",    ">",    ">",    "<",    "^",    "<",    ">",    ">",    "v",    ">",    "v",    "^",    "^",    ">",    "^",    "^",    "<",    "^",    "^",    ">",    "^",    ">",    ">",    "v",    ">",    "v",    "v",    "^",    "^",    "v",    "<",    "^",    "<",    "^",    "v",    ">",    "<",    "v",    "v",    "<",    "v",    "<",    "^",    ">",    ">",    "<",    "<",    "v",    "v",    "v",    "<",    "<",    ">",    "<",    "^",    ">",    "^",    "v",    ">",    "^",    "^",    "^",    "<",    "<",    ">",    "v",    "^",    "<",    "v",    "<",    "v",    ">",    "<",    "<",    "v",    ">",    "^",    "^",    "v",    "<",    "<",    "<",    ">",    "^",    "^",    "v",    "v",    "<",    "^",    ">",    "v",    "v",    ">",    "^",    ">",    "^",    "<",    ">",    "<",    "<",    ">",    "v",    "v",    "<",    "^",    ">",    "v",    "^",    "v",    "v",    ">",    "^",    "^",    "^",    "v",    ">",    "<",    "<",    "^",    "v",    "v",    ">",    "^",    "v",    "<",    ">",    "<",    "v",    "^",    "^",    "^",    "^",    "v",    "^",    ">",    "v",    "v",    "^",    "^",    "<",    "^",    "<",    ">",    "^",    "^",    "v",    "^",    "<",    "^",    "v",    "v",    "<",    "v",    "<",    "v",    "v",    "<",    ">",    "v",    ">",    "v",    "^",    "^",    "<",    ">",    "^",    "^",    ">",    "^",    "^",    ">",    "^",    "<",    ">",    "<",    "<",    "^",    "v",    ">",    "^",    ">",    "<",    "^",    "^",    "v",    "v",    "v",    "v",    "<",    ">",    "<",    ">",    "^",    "<",    "v",    "^",    "^",    ">",    "v",    "<",    ">",    "^",    ">",    "<",    ">",    "v",    ">",    ">",    "<",    ">",    "v",    "v",    "^",    "<",    "<",    ">",    "<",    "<",    ">",    ">",    "<",    ">",    "v",    "<",    "^",    ">",    "^",    "v",    ">",    ">",    "^",    "^",    "v",    ">",    "<",    "<",    "<",    ">",    ">",    "^",    "<",    "^",    "v",    "^",    "<",    "v",    "<",    "<",    "<",    "v",    "^",    ">",    "^",    "^",    "<",    "^",    "<",    ">",    "<",    ">",    "<",    "^",    ">",    "<",    "<",    "<",    "<",    "^",    "<",    "v",    "v",    ">",    "<",    "v",    "<",    "<",    ">",    "<",    "v",    "v",    "v",    "^",    "^",    ">",    "<",    "v",    "v",    ">",    "^",    "<",    "<",    "v",    "v",    "<",    "<",    "<",    "^",    "v",    "<",    ">",    ">",    ">",    "<",    ">",    "<",    ">",    ">",    "v",    ">",    "<",    "<",    "<",    "v",    ">",    "v",    "v",    "v",    "v",    "^",    "^",    "v",    "v",    "<",    "v",    ">",    ">",    "<",    "<",    "^",    "v",    "^",    "v",    "v",    "v",    ">",    "<",    ">",    "<",    "v",    "v",    ">",    "v",    ">",    "<",    ">",    "v",    "<",    "<",    "<",    "^",    "<",    "v",    "^",    ">",    ">",    "<",    "^",    "^",    ">",    "v",    "^",    "<",    "v",    ">",    ">",    "<",    "v",    ">",    "^",    "^",    "^",    "v",    "^",    "v",    ">",    ">",    "<",    "<",    "<",    "v",    "<",    "^",    "^",    ">",    ">",    "^",    "v",    "<",    ">",    "v",    "^",    "<",    "v",    "v",    "^",    "^",    "<",    "<",    "v",    "<",    "v",    ">",    "v",    "<",    "<",    "<",    "<",    "^",    "^",    "^",    "v",    "^",    "v",    "<",    "<",    ">",    ">",    ">",    "v",    ">",    ">",    "v",    "v",    ">",    "^",    "^",    "<",    ">",    "<",    "^",    "v",    "<",    "v",    ">",    "<",    ">",    ">",    "v",    "^",    ">",    ">",    ">",    ">",    ">",    "^",    ">",    "v",    "^",    "v",    "^",    "<",    "^",    "v",    "^",    "v",    "^",    "v",    "v",    "v",    ">",    "v",    "<",    "v",    "<",    "^",    ">",    "v",    "v",    "^",    "<",    "<",    "v",    ">",    "v",    "v",    ">",    ">",    "v",    "^",    "^",    "v",    "v",    "<",    "^",    "v",    ">",    ">",    ">",    ">",    "v",    "v",    "<",    ">",    "v",    "<",    ">",    "^",    "^",    "v",    "v",    "^",    "<",    "v",    ">",    "v",    "^",    ">",    ">",    "v",    "v",    "v",    "<",    "<",    "<",    "v",    "<",    "<",    "^",    "v",    "v",    "^",    "^",    "^",    "^",    ">",    "v",    ">",    "v",    ">",    "^",    ">",    "<",    "<",    "<",    "^",    ">",    "v",    "^",    ">",    "<",    "v",    "<",    "^",    "<",    "<",    "<",    "v",    ">",    "^",    "v",    "^",    "^",    "^",    ">",    "<",    "<",    ">",    "<",    "<",    "<",    "^",    "^",    "<",    "^",    "^",    "<",    ">",    "^",    "<",    "v",    ">",    "^",    "<",    "v",    "<",    "<",    "v",    "<",    "^",    "^",    "v",    "v",    ">",    "v",    "<",    "^",    "v",    ">",    "<",    "v",    ">",    "<",    "v",    "<",    ">",    "^",    "v",    "<",    "^",    "<",    "v",    "<",    "^",    "<",    "v",    "^",    "v",    ">",    "<",    "v",    ">",    ">",    "<",    "v",    "<",    "v",    "<",    "<",    ">",    "^",    "<",    "v",    "<",    ">",    ">",    ">",    "<",    ">",    "^",    "v",    "^",    "v",    "<",    "<",    "^",    ">",    "<",    "v",    "^",    "<",    "<",    "v",    "<",    "v",    "^",    ">",    "^",    ">",    "v",    ">",    "<",    "^",    ">",    "^",    "v",    "v",    "^",    "^",    "<",    "v",    "<",    "v",    "<",    "v",    "v",    "<",    "v",    ">",    "^",    "v",    "^",    "v",    "^",    ">",    "^",    "<",    "<",    ">",    ">",    ">",    ">",    ">",    "v",    "^",    "<",    ">",    "^",    ">",    "v",    "^",    "v",    "v",    "^",    ">",    "<",    "<",    ">",    ">",    "^",    "^",    "<",    ">",    "v",    "^",    ">",    "<",    "v",    ">",    "^",    "v",    "v",    "v",    "^",    ">",    "v",    "^",    "v",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    ">",    "v",    ">",    "v",    "<",    "^",    "<",    "^",    ">",    "<",    "^",    "^",    "v",    "v",    "<",    "<",    ">",    "<",    ">",    ">",    "v",    ">",    ">",    "v",    ">",    "<",    "v",    "v",    ">",    ">",    "^",    "v",    "<",    "<",    ">",    "^",    "v",    "v",    "<",    ">",    "^",    "v",    "v",    ">",    "v",    ">",    "v",    ">",    "^",    ">",    "^",    ">",    ">",    ">",    "<",    ">",    "<",    "<",    ">",    "v",    "<",    "v",    ">",    "^",    "<",    "<",    "^",    "v",    "^",    "^",    "<",    "<",    "<",    ">",    "<",    "v",    ">",    ">",    "v",    "v",    "<",    "^",    "<",    "v",    "v",    "<",    "v",    "v",    "^",    "<",    "<",    "v",    "<",    "<",    "^",    "v",    ">",    "<",    "<",    ">",    "v",    "<",    "^",    "^",    "^",    "<",    "<",    "^",    "v",    "^",    ">",    "^",    "v",    ">",    "^",    "^",    "^",    "v",    "^",    "v",    ">",    ">",    ">",    "v",    ">",    "v",    "^",    "v",    ">",    "^",    ">",    "^",    "v",    "v",    "<",    "^",    "^",    "<",    "<",    "v",    "v",    "^",    ">",    "^",    "<",    "<",    "<",    "v",    "v",    ">",    "v",    "^",    "<",    ">",    "<",    "<",    "^",    "v",    "v",    "v",    "^",    "^",    ">",    "<",    ">",    "v",    "v",    "^",    "v",    ">",    "v",    ">",    "^",    ">",    "<",    "<",    "^",    "^",    "^",    "^",    "v",    "v",    "v",    "^",    "<",    "v",    "v",    "v",    ">",    ">",    "<",    "^",    "v",    "<",    "^",    ">",    "^",    "<",    ">",    ">",    "^",    "<",    "v",    "<",    "<",    "v",    "v",    ">",    ">",    ">",    "<",    "v",    ">",    "v",    "v",    "^",    "<",    ">",    ">",    "<",    "v",    "^",    "<",    "v",    ">",    "^",    "v",    ">",    "^",    ">",    "v",    ">",    "^",    "<",    "^",    "<",    "^",    "^",    "^",    "<",    "<",    "v",    "v",    "v",    "v",    "^",    ">",    ">",    ">",    ">",    ">",    ">",    ">",    "v",    ">",    "<",    "v",    "v",    ">",    "^",    "<",    ">",    "^",    "^",    "v",    "^",    ">",    "<",    ">",    ">",    "<",    "^",    "v",    "^",    "^",    "<",    "v",    "^",    "v",    "<",    "<",    "<",    "<",    "v",    "^",    ">",    ">",    "<",    ">",    "v",    "^",    "v",    "<",    "v",    "v",    "<",    ">",    "<",    "^",    "<",    "<",    "<",    "<",    "^",    ">",    "^",    "^",    ">",    "v",    "v",    ">",    ">",    "<",    "^",    "v",    "<",    "v",    "^",    "v",    "<",    "<",    ">",    "^",    "v",    "v",    "v",    ">",    "v",    "^",    "^",    ">",    "<",    "^",    "^",    "<",    "^",    "<",    ">",    ">",    "^",    "^",    "v",    "^",    "v",    "v",    "<",    ">",    "v",    "<",    "^",    "<",    "<",    "<",    "v",    "^",    "^",    "^",    ">",    "<",    "v",    "<",    "v",    "v",    "<",    "<",    ">",    "v",    ">",    "v",    "<",    ">",    "^",    "v",    "^",    ">",    "<",    "v",    "^",    "v",    "v",    "^",    "v",    "^",    "^",    "v",    "<",    "^",    "^",    "v",    "^",    "^",    "v",    ">",    "<",    ">",    "v",    "<",    "^",    "v",    ">",    ">",    "<",    "<",    "^",    "<",    "^",    "v",    "^",    ">",    ">",    "<",    "<",    "v",    "v",    "<",    "<",    "^",    ">",    "^",    "<",    "<",    "v",    "^",    "<",    ">",    "^",    ">",    "<",    ">",    "v",    ">",    "<",    "v",    "v",    "^",    "v",    ">",    ">",    "^",    "<",    "v",    "<",    "<",    "<",    "^",    ">",    "v",    "v",    "<",    "^",    "v",    ">",    "^",    ">",    "v",    "<",    "<",    "v",    ">",    "^",    ">",    ">",    "^",    ">",    ">",    "v",    "^",    "<",    "v",    "<",    "v",    ">",    ">",    "^",    "v",    "<",    "^",    "v",    "^",    "v",    ">",    "<",    "<",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    "<",    ">",    "<",    "v",    "<",    "v",    "v",    "v",    "v",    "<",    "v",    "^",    "<",    "v",    "^",    "v",    ">",    "<",    ">",    "^",    "<",    ">",    "^",    "^",    "^",    "^",    "v",    ">",    "^",    ">",    "^",    "v",    "v",    "v",    "v",    "v",    ">",    "v",    ">",    ">",    "v",    ">",    "<",    "<",    "v",    "v",    "<",    "<",    "v",    "<",    ">",    "<",    "<",    "^",    ">",    "<",    "<",    "^",    "v",    ">",    "<",    "<",    "v",    "<",    "<",    "<",    "v",    ">",    "<",    "v",    "v",    "<",    "^",    ">",    "^",    "v",    ">",    ">",    ">",    ">",    "^",    "v",    "<",    "^",    "v",    "<",    "<",    ">",    ">",    "^",    ">",    "^",    "<",    "<",    "v",    "v",    "^",    "<",    "^",    ">",    "v",    ">",    ">",    "<",    "<",    "^",    ">",    "^",    ">",    "^",    "v",    ">",    "<",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    "v",    "<",    ">",    "v",    "^",    ">",    "<",    "<",    "^",    "v",    "^",    "<",    "^",    "^",    ">",    "<",    "^",    "^",    "v",    "^",    "<",    "<",    "^",    "v",    "^",    "^",    ">",    ">",    "^",    "v",    "^",    "<",    "^",    ">",    "<",    "v",    "v",    ">",    "v",    "^",    "^",    "<",    "<",    "^",    "^",    "^",    "<",    ">",    "<",    ">",    "^",    ">",    "v",    "^",    "v",    ">",    "v",    "^",    ">",    "^",    "v",    "^",    "v",    "v",    ">",    "^",    "^",    ">",    ">",    ">",    ">",    "^",    "^",    "<",    "^",    ">",    ">",    ">",    "^",    "^",    "v",    "<",    "v",    "v",    "<",    ">",    "<",    "^",    "^",    "<",    "v",    "v",    "v",    "<",    "^",    "^",    "^",    "v",    "v",    ">",    "v",    "<",    "v",    "<",    "v",    ">",    ">",    "<",    "<",    "<",    ">",    "^",    ">",    "^",    "^",    ">",    "^",    ">",    "^",    "v",    "<",    "<",    "<",    "<",    ">",    ">",    "^",    "<",    "<",    ">",    ">",    "<",    "v",    ">",    ">",    "v",    ">",    "^",    "^",    "<",    "^",    "v",    "<",    ">",    "v",    "<",    ">",    "v",    "^",    ">",    "v",    "^",    ">",    "<",    "^",    "<",    "^",    "^",    ">",    "<",    "v",    "^",    "^",    "v",    ">",    "^",    "^",    "v",    "v",    "<",    "v",    "<",    "<",    ">",    ">",    "<",    "<",    "v",    "v",    "<",    ">",    ">",    "v",    ">",    "^",    "<",    "<",    "<",    "<",    "v",    "<",    "<",    "v",    ">",    "^",    ">",    "<",    "^",    "^",    "<",    "^",    "<",    "^",    "<",    "v",    "^",    "<",    "<",    "^",    "^",    "v",    ">",    "^",    "v",    "<",    "^",    ">",    "v",    "^",    "v",    "^",    "<",    "v",    "^",    "v",    "v",    "^",    ">",    "^",    "^",    ">",    "<",    "^",    ">",    "v",    "^",    "v",    ">",    ">",    "^",    "^",    "v",    "^",    ">",    "<",    "v",    "v",    "<",    "v",    "<",    "v",    "<",    "v",    ">",    ">",    ">",    ">",    ">",    "<",    "<",    ">",    "<",    "v",    ">",    "<",    "v",    "^",    "v",    "^",    "<",    "v",    "^",    "<",    "^",    "^",    "<",    "v",    "<",    ">",    "^",    ">",    "v",    ">",    "v",    "<",    ">",    ">",    ">",    "v",    ">",    "^",    "^",    "^",    "^",    ">",    ">",    "<",    "v",    "^",    "v",    "^",    "^",    "v",    "<",    "<",    "<",    ">",    "v",    "^",    "<",    "<",    "^",    "<",    "v",    ">",    ">",    ">",    ">",    "<",    "^",    "v",    "^",    "<",    "<",    ">",    "<",    "v",    "<",    ">",    ">",    "v",    ">",    "<",    ">",    "<",    "v",    "<",    "v",    "^",    "v",    ">",    "^",    "v",    "^",    "^",    "<",    "v",    "<",    "^",    "<",    "^",    "^",    "v",    ">",    ">",    "<",    "<",    "v",    "v",    "<",    "<",    "v",    "v",    ">",    "<",    ">",    ">",    "^",    ">",    "^",    ">",    "v",    "v",    "<",    "^",    "<",    ">",    "^",    "v",    "v",    "v",    "^",    "v",    "<",    "v",    "^",    "^",    "<",    ">",    "v",    "^",    "v",    ">",    "^",    "^",    "<",    "<",    "<",    "<",    "<",    ">",    "^",    "v",    "^",    ">",    "^",    "<",    ">",    "v",    "^",    "^",    "<",    ">",    "v",    "^",    "v",    "<",    "v",    "v",    ">",    "^",    "<",    ">",    "v",    "v",    "^",    "<",    "^",    "v",    "v",    ">",    ">",    "<",    "v",    "^",    "^",    "v",    "v",    "v",    "v",    "v",    ">",    ">",    "<",    "<",    ">",    "v",    "<",    "v",    "v",    "^",    "<",    "^",    "<",    "v",    "v",    "^",    "v",    "^",    "<",    ">",    "^",    "^",    "<",    "v",    "^",    "<",    "v",    "v",    "^",    "<",    "v",    "^",    "v",    "^",    "v",    "<",    "<",    "^",    ">",    "^",    ">",    "^",    ">",    "^",    "^",    ">",    ">",    ">",    "v",    "v",    "v",    ">",    "^",    ">",    "v",    ">",    "v",    ">",    ">",    ">",    "^",    ">",    "v",    "v",    "^",    ">",    "<",    ">",    "^",    ">",    "<",    ">",    "v",    ">",    "^",    "^",    "<",    "v",    "^",    ">",    "^",    ">",    "<",    "<",    "v",    ">",    ">",    "<",    "<",    "<",    ">",    ">",    "v",    "<",    "v",    "v",    "v",    "v",    "^",    ">",    "^",    "v",    "<",    "^",    "<",    ">",    "^",    "<",    "v",    ">",    "^",    "<",    ">",    "^",    "^",    "<",    "<",    ">",    "<",    ">",    "^",    "v",    "<",    ">",    "<",    ">",    ">",    ">",    "^",    "v",    "v",    "<",    "^",    "<",    "<",    "^",    "<",    "^",    "v",    ">",    "v",    "<",    "<",    "<",    "<",    "<",    "^",    "^",    "v",    "<",    "^",    "v",    "<",    ">",    "<",    "v",    "<",    "<",    ">",    "<",    "^",    ">",    "v",    ">",    "^",    "v",    ">",    ">",    "^",    "v",    "^",    ">",    "<",    "^",    "^",    "^",    "^",    "v",    "<",    ">",    "<",    ">",    "<",    ">",    "v",    "v",    "^",    "<",    ">",    "v",    "v",    "<",    "^",    "v",    "<",    "^",    "^",    ">",    "<",    "v",    "^",    "<",    "^",    ">",    "<",    "^",    "^",    "v",    "^",    "v",    "^",    "<",    "^",    "^",    "<",    "<",    ">",    "<",    "v",    ">",    "v",    "<",    "v",    "<",    "v",    "^",    "<",    "<",    "^",    "v",    ">",    "<",    ">",    "v",    "^",    "v",    "<",    "^",    ">",    "v",    "v",    "v",    ">",    "<",    "<",    "^",    "v",    ">",    ">",    "v",    ">",    "<",    ">",    "<",    "v",    "<",    "<",    "^",    ">",    ">",    ">",    "v",    "<",    "^",    ">",    ">",    "v",    ">",    "^",    "<",    ">",    ">",    "<",    ">",    "^",    "<",    "v",    "^",    "v",    "^",    "<",    "v",    "v",    "<",    "<",    "^",    ">",    "v",    "<",    "^",    "^",    ">",    "^",    "<",    "^",    "v",    "<",    "^",    "<",    "<",    "^",    "^",    "v",    "<",    ">",    ">",    "^",    ">",    "^",    ">",    "^",    "v",    "^",    "^",    "v",    "^",    "v",    "<",    "v",    "^",    "^",    "v",    "v",    "^",    "<",    "v",    ">",    ">",    "v",    ">",    "<",    "v",    "v",    "^",    "v",    "v",    ">",    "v",    "<",    ">",    "v",    "^",    ">",    "v",    "^",    "^",    ">",    "^",    "^",    ">",    ">",    "<",    "v",    ">",    "<",    "v",    "^",    "<",    "<",    ">",    "<",    "<",    ">",    ">",    "<",    "<",    "^",    "^",    ">",    ">",    "<",    "^",    "v",    "<",    "v",    "<",    ">",    "<",    "<",    ">",    "<",    "<",    ">",    "<",    "v",    "<",    "v",    "^",    "<",    "^",    "<",    "v",    ">",    ">",    ">",    ">",    "<",    "v",    "^",    "^",    "v",    "^",    "^",    ">",    ">",    ">",    "^",    "^",    "^",    "^",    "^",    "<",    "<",    "v",    "v",    "<",    "^",    ">",    "<",    ">",    "^",    "<",    "<",    "<",    "v",    "v",    "^",    "^",    "^",    ">",    "^",    ">",    "<",    "<",    "<",    "v",    "<",    "^",    "v",    ">",    "^",    "<",    "v",    "<",    "^",    ">",    "^",    "v",    "v",    "v",    "<",    "<",    ">",    "v",    "v",    ">",    "<",    "<",    ">",    "v",    ">",    "v",    "^",    "v",    ">",    ">",    ">",    ">",    ">",    "^",    "<",    ">",    ">",    "<",    "^",    "^",    "^",    ">",    "<",    "<",    "<",    "<",    "v",    ">",    "<",    "<",    "v",    "v",    ">",    ">",    ">",    "v",    "<",    "^",    "<",    "v",    "v",    "^",    "v",    "^",    "<",    "<",    "v",    ">",    ">",    ">",    ">",    "^",    "^",    "v",    "v",    "v",    ">",    "v",    "<",    ">",    ">",    "<",    "v",    ">",    ">",    ">",    "v",    ">",    ">",    "^",    "v",    "^",    "v",    "v",    "v",    "<",    "<",    ">",    "v",    "v",    "v",    "<",    "<",    "^",    "^",    "^",    "<",    ">",    "v",    "v",    "^",    "^",    "v",    "<",    "<",    ">",    "^",    "^",    "^",    ">",    ">",    "^",    "<",    "^",    "v",    "^",    "<",    "^",    "^",    ">",    "v",    "^",    ">",    "<",    "v",    ">",    ">",    "^",    "<",    "<",    "^",    "v",    "<",    "<",    "v",    "v",    "<",    "v",    "v",    ">",    "v",    "^",    ">",    ">",    "^",    ">",    "v",    "^",    ">",    "<",    "^",    ">",    "<",    ">",    "^",    ">",    ">",    ">",    "v",    "v",    ">",    ">",    "<",    "^",    "^",    "^",    ">",    "v",    "v",    "<",    "<",    "^",    "^",    "v",    "v",    ">",    "<",    "^",    "<",    ">",    "^",    ">",    "^",    "^",    "<",    "^",    "<",    ">",    ">",    "^",    "v",    "v",    "^",    ">",    ">",    "^",    "v",    ">",    "<",    ">",    "v",    "^",    ">",    ">",    ">",    "<",    "<",    "<",    "^",    "^",    "<",    "^",    ">",    "^",    ">",    "v",    "<",    "^",    ">",    "^",    "<",    "^",    "^",    "<",    ">",    ">",    ">",    "<",    "^",    "^",    "<",    ">",    "^",    "v",    "^",    "<",    "<",    "v",    "v",    "v",    "<",    "v",    ">",    "<",    ">",    "v",    "v",    "v",    ">",    "<",    "v",    ">",    "v",    "^",    "v",    "<",    "<",    "^",    "<",    "v",    ">",    "^",    "^",    ">",    "<",    "<",    "^",    "v",    "v",    "^",    "v",    ">",    "v",    ">",    "v",    "<",    "<",    "^",    "v",    "^",    "<",    "<",    "<",    ">",    "^",    ">",    "<",    ">",    "<",    "v",    "v",    "v",    ">",    "v",    ">",    "^",    "v",    "v",    "^",    "v",    "<",    ">",    "v",    "v",    "^",    ">",    "^",    "^",    "<",    "^",    ">",    "^",    ">",    "v",    "^",    "^",    "<",    "v",    "v",    "^",    ">",    "v",    ">",    "<",    "v",    "<",    "<",    "<",    ">",    "<",    ">",    ">",    "^",    "v",    "<",    "^",    "<",    ">",    "<",    ">",    "<",    "^",    "<",    "v",    "^",    "^",    "<",    "<",    "^",    "<",    "v",    ">",    "v",    "v",    "<",    ">",    "<",    "<",    ">",    "v",    "^",    "<",    "v",    "^",    ">",    "^",    ">",    "^",    "^",    "<",    ">",    "<",    "<",    ">",    "^",    "<",    "^",    "<",    "<",    "v",    "^",    "^",    "v",    "<",    "v",    "^",    "<",    ">",    "<",    "<",    ">",    "v",    ">",    ">",    "<",    "^",    "<",    "<",    ">",    "^",    ">",    "^",    "v",    "^",    "v",    "<",    "v",    "^",    "v",    ">",    "<",    "^",    ">",    ">",    "^",    "v",    "<",    "^",    ">",    "v",    "<",    "<",    ">",    "^",    "^",    "^",    "<",    "^",    "v",    ">",    ">",    ">",    "^",    "<",    "v",    ">",    "v",    "v",    "v",    "v",    "<",    "<",    "v",    "^",    "<",    "^",    "^",    ">",    "v",    "v",    "v",    "v",    ">",    "v",    "<",    ">",    "v",    "<",    "v",    ">",    "<",    "v",    "v",    "v",    "v",    "v",    ">",    "^",    "<",    ">",    "<",    ">",    "v",    "v",    "v",    "<",    ">",    "^",    "<",    "<",    ">",    "^",    ">",    ">",    ">",    ">",    "v",    "^",    "<",    "^",    "<",    ">",    "<",    "^",    "v",    ">",    "v",    "^",    ">",    ">",    "v",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    "v",    "^",    ">",    "^",    "<",    "<",    ">",    "^",    ">",    "^",    "v",    "^",    "<",    "v",    "^",    "^",    ">",    ">",    "^",    "v",    ">",    "<",    "v",    ">",    "^",    "<",    "v",    ">",    "<",    ">",    "v",    "^",    "<",    "^",    "^",    ">",    "v",    ">",    "^",    ">",    ">",    ">",    "v",    "^",    "v",    ">",    ">",    ">",    "^",    "<",    ">",    "^",    "<",    ">",    ">",    ">",    ">",    ">",    "v",    ">",    ">",    "v",    "v",    "^",    "v",    "<",    ">",    "<",    "<",    "<",    ">",    "<",    ">",    "<",    "v",    ">",    "<",    "<",    "v",    "v",    "<",    "<",    "v",    "<",    ">",    "<",    ">",    ">",    "v",    "v",    "<",    "^",    "<",    "v",    "v",    ">",    "^",    "v",    "<",    "<",    ">",    "v",    "^",    "v",    "<",    "^",    "v",    "<",    ">",    "<",    "v",    ">",    ">",    "^",    "v",    ">",    ">",    "v",    "v",    "v",    "^",    "^",    "v",    ">",    ">",    "v",    ">",    "^",    ">",    "^",    ">",    "v",    ">",    "<",    "v",    ">",    "<",    "^",    ">",    "^",    "^",    "<",    "<",    ">",    "^",    "v",    "<",    "^",    "<",    "<",    "<",    "<",    "^",    ">",    "v",    "<",    "^",    ">",    ">",    "v",    "^",    "<",    "^",    "v",    ">",    "^",    "v",    "<",    "<",    ">",    "^",    ">",    "^",    "v",    "v",    "v",    "<",    "^",    "^",    "v",    "v",    ">",    "^",    "v",    "v",    ">",    "v",    "v",    "<",    ">",    ">",    "v",    ">",    "v",    "<",    "v",    ">",    ">",    "v",    "^",    "<",    "<",    "<",    "<",    "<",    "^",    "^",    "v",    "^",    ">",    "v",    ">",    "^",    "<",    "<",    "<",    "v",    "^",    "v",    ">",    ">",    "v",    "<",    "v",    ">",    "<",    "v",    "v",    "v",    ">",    "<",    "v",    ">",    "^",    "<",    "v",    "v",    ">",    "<",    "<",    ">",    ">",    "^",    "<",    "^",    ">",    "^",    "^",    "<",    ">",    ">",    ">",    ">",    "^",    "<",    "^",    "v",    "<",    ">",    "v",    "^",    "^",    ">",    "^",    "<",    "^",    "^",    "v",    "<",    "^",    ">",    "<",    ">",    ">",    "<",    "v",    ">",    ">",    "^",    "v",    "^",    "v",    "v",    "<",    "^",    "v",    "<",    "^",    ">",    "<",    "<",    "v",    "v",    "v",    "<",    ">",    ">",    "<",    ">",    ">",    "<",    "^",    "^",    ">",    "^",    "<",    "^",    "v",    "^",    "<",    "^",    "<",    ">",    "v",    "<",    "<",    "<",    "^",    "v",    ">",    "v",    "^",    "^",    "^",    "<",    ">",    "v",    "^",    "<",    "v",    "^",    ">",    "^",    "v",    "^",    ">",    ">",    "<",    ">",    "^",    "^",    "<",    "v",    "<",    "^",    ">",    "<",    "<",    "^",    "^",    "v",    "^",    "<",    ">",    "^",    "<",    "^",    "v",    "v",    ">",    ">",    ">",    "<",    "^",    "v",    ">",    "<",    "v",    "^",    ">",    "v",    "v",    "<",    "^",    "v",    "<",    "<",    "<",    "v",    "^",    ">",    ">",    "v",    ">",    "v",    "^",    "v",    ">",    "^",    "<",    "v",    ">",    "v",    "<",    "^",    "<",    ">",    "v",    "^",    "v",    "v",    "v",    ">",    "^",    "v",    "v",    "<",    "<",    "<",    "<",    "v",    ">",    "<",    "^",    ">",    "<",    "v",    ">",    ">",    "^",    "^",    ">",    ">",    "<",    "^",    "v",    ">",    "<",    "<",    "^",    ">",    "v",    "^",    "^",    "<",    "<",    "v",    "^",    "^",    "<",    "^",    "<",    ">",    "<",    "<",    "<",    "<",    ">",    "^",    "<",    "v",    "<",    "^",    "v",    "^",    ">",    "v",    "<",    "<",    "^",    "^",    ">",    "v",    "<",    "<",    "<",    "<",    "<",    "v",    "v",    "v",    "<",    "v",    "<",    "^",    ">",    "^",    ">",    "^",    ">",    "^",    ">",    ">",    "^",    ">",    ">",    ">",    "v",    "^",    "<",    "<",    "v",    ">",    ">",    "^",    "^",    "v",    ">",    "<",    "v",    "v",    "<",    "^",    "v",    "<",    "v",    "<",    "^",    "^",    "^",    ">",    ">",    ">",    "^",    "v",    "v",    "v",    "<",    "^",    "v",    "<",    ">",    ">",    ">",    "v",    "v",    ">",    "^",    "^",    ">",    "<",    "^",    "v",    ">",    "v",    "v",    "^",    ">",    ">",    "v",    ">",    "v",    "^",    "<",    ">",    "^",    "<",    "v",    "v",    ">",    "^",    ">",    "^",    "<",    "<",    "^",    ">",    "^",    "^",    "^",    ">",    ">",    "^",    "v",    "v",    ">",    "^",    "^",    ">",    "v",    "v",    "v",    "v",    "<",    ">",    ">",    "^",    "^",    "^",    "^",    ">",    ">",    ">",    "v",    ">",    "v",    "^",    "^",    ">",    "v",    "v",    ">",    "v",    "v",    "^",    "<",    "<",    ">",    "^",    ">",    "<",    "^",    "<",    "v",    "^",    "v",    "v",    "v",    "v",    ">",    "<",    "v",    "<",    ">",    "<",    "v",    ">",    ">",    "<",    "<",    "<",    "v",    "<",    "v",    "<",    "<",    "^",    "v",    ">",    "<",    "v",    "v",    "^",    "v",    "v",    "^",    "<",    ">",    ">",    ">",    "^",    ">",    "^",    "<",    "v",    "<",    "^",    "v",    "<",    ">",    ">",    "<",    "^",    "<",    "v",    "v",    "^",    "^",    ">",    "<",    "v",    ">",    "v",    "^",    ">",    "v",    "^",    "<",    ">",    "<",    "v",    "^",    "v",    "v",    "v",    ">",    "^",    ">",    "v",    "^",    "^",    "v",    "^",    ">",    "^",    "^",    ">",    "v",    "<",    "<",    "<",    "<",    "^",    "<",    "<",    "^",    ">",    ">",    "v",    ">",    "v",    "^",    "^",    "^",    "<",    "<",    "<",    "v",    ">",    ">",    ">",    "^",    "^",    "v",    ">",    "v",    "<",    "v",    ">",    "<",    "<",    "<",    "<",    "^",    "^",    "^",    "v",    ">",    "^",    "v",    "v",    "^",    ">",    ">",    "<",    ">",    "^",    "v",    "<",    "v",    "<",    "<",    "^",    "^",    "<",    "<",    "<",    "<",    ">",    "<",    ">",    ">",    ">",    "v",    ">",    "v",    "v",    "v",    "^",    "v",    "^",    "^",    "v",    "^",    ">",    ">",    "v",    "v",    ">",    "^",    ">",    ">",    "<",    ">",    "^",    "v",    ">",    "<",    "^",    "v",    "^",    ">",    "<",    "^",    "^",    ">",    "v",    "v",    ">",    "^",    "<",    "^",    "<",    "^",    ">",    ">",    "<",    "v",    ">",    "v",    ">",    ">",    "<",    ">",    "<",    ">",    "<",    "v",    ">",    "^",    ">",    "^",    ">",    "v",    ">",    "v",    "v",    ">",    "v",    "v",    ">",    "^",    "^",    ">",    "v",    ">",    "v",    "^",    ">",    "<",    "v",    "<",    "<",    "v",    "^",    "<",    ">",    "^",    ">",    "^",    "v",    ">",    "^",    "^",    "v",    ">",    "^",    "<",    "^",    "v",    "<",    ">",    ">",    "v",    "v",    "v",    "^",    "^",    ">",    "^",    ">",    "v",    "v",    "<",    "v",    "<",    "v",    "<",    "<",    "^",    "<",    "^",    "<",    "v",    "^",    "<",    ">",    "v",    "^",    "^",    "v",    "<",    "^",    "<",    "^",    ">",    "v",    "v",    "^",    "^",    "<",    "v",    ">",    "<",    "^",    "^",    "^",    ">",    "v",    ">",    "v",    "v",    "<",    "<",    "v",    ">",    "v",    "<",    "<",    "v",    "^",    "<",    "v",    "^",    "^",    ">",    "<",    "v",    "v",    ">",    "^",    ">",    "^",    "v",    "^",    "<",    "^",    ">",    "v",    "<",    "^",    ">",    "^",    "<",    ">",    "v",    "v",    "^",    ">",    "<",    "v",    "<",    "^",    ">",    "<",    ">",    ">",    "^",    ">",    ">",    "^",    "<",    "^",    ">",    "<",    "<",    ">",    "^",    "<",    "^",    ">",    "v",    ">",    "v",    ">",    "<",    ">",    ">",    ">",    "^",    "<",    "<",    "^",    ">",    "<",    "<",    "v",    ">",    "<",    "^",    "v",    "<",    "v",    ">",    "<",    ">",    ">",    "v",    "v",    "<",    "^",    ">",    "<",    "v",    "^",    ">",    ">",    "v",    ">",    "v",    ">",    ">",    ">",    ">",    "^",    "^",    ">",    "v",    "<",    "^",    "v",    "^",    ">",    ">",    "<",    "<",    "^",    "<",    ">",    ">",    "v",    ">",    "<",    "^",    ">",    "<",    "<",    "^",    ">",    "^",    "<",    "v",    "v",    "^",    "^",    "<",    ">",    "<",    "<",    ">",    ">",    "<",    "v",    "v",    "v",    "v",    "^",    ">",    "^",    "^",    "<",    ">",    "<",    "^",    "^",    "v",    ">",    "^",    "^",    ">",    "v",    "v",    ">",    "^",    "v",    "<",    "v",    ">",    ">",    "^",    "^",    "v",    "^",    "<",    "v",    "<",    "^",    ">",    "<",    "^",    "<",    "<",    ">",    ">",    "v",    "^",    "^",    "^",    "<",    "^",    ">",    "<",    "^",    "<",    "<",    ">",    "<",    "<",    "v",    "<",    ">",    ">",    "<",    "<",    ">",    "^",    "v",    ">",    "v",    "v",    "v",    "^",    "v",    "v",    "v",    "^",    "^",    ">",    ">",    "^",    "<",    "^",    "<",    "v",    ">",    ">",    "<",    ">",    "^",    "<",    "<",    "<",    "<",    "^",    "^",    "<",    ">",    ">",    ">",    "v",    "^",    "<",    "<",    "^",    "^",    "v",    ">",    ">",    "<",    ">",    "<",    "<",    "v",    "<",    "^",    ">",    "v",    ">",    "^",    "v",    "<",    "v",    "^",    ">",    "v",    ">",    "v",    "v",    "^",    ">",    "<",    ">",    "^",    ">",    "<",    "<",    ">",    "<",    "^",    "^",    ">",    "^",    ">",    "^",    "<",    ">",    "<",    ">",    ">",    "<",    "^",    "^",    "<",    "v",    "^",    "v",    "<",    "^",    ">",    "<",    ">",    "<",    ">",    "<",    "v",    ">",    "^",    "<",    "v",    "<",    "<",    "v",    "^",    "<",    "<",    "^",    "^",    "^",    "v",    "<",    "v",    "<",    "^",    "v",    "<",    ">",    ">",    ">",    "<",    "^",    "v",    "<",    "<",    "<",    "<",    ">",    ">",    "^",    "v",    ">",    "^",    "^",    "v",    "v",    "^",    "v",    "^",    "<",    "<",    "v",    ">",    ">",    "<",    "<",    "<",    "v",    ">",    "v",    "v",    ">",    ">",    "v",    ">",    ">",    "^",    "v",    "^",    "<",    ">",    ">",    "v",    "v",    "^",    "<",    "^",    ">",    "^",    "<",    "<",    ">",    "v",    "<",    "<",    "<",    "^",    "v",    "v",    "<",    "^",    "v",    "v",    "^",    "v",    "v",    "<",    "^",    "v",    "^",    "^",    "^",    "<",    "v",    "v",    "^",    ">",    "v",    ">",    ">",    "v",    "<",    "^",    "^",    "<",    "^",    "^",    "v",    "v",    "v",    "<",    "^",    "^",    "v",    "<",    ">",    ">",    ">",    "^",    ">",    "v",    "^",    ">",    "<",    "v",    ">",    "^",    "^",    ">",    "<",    ">",    "v",    "v",    ">",    "v",    ">",    "v",    "<",    "<",    "<",    "^",    "^",    "v",    "<",    "^",    "v",    "v",    "^",    "v",    ">",    "^",    "^",    "^",    ">",    ">",    ">",    "^",    "^",    "<",    ">",    "^",    "^",    "<",    "^",    "v",    "v",    "v",    ">",    ">",    "<",    ">",    "<",    "<",    ">",    "<",    "^",    "<",    "v",    ">",    ">",    "<",    "<",    ">",    "^",    ">",    "^",    "^",    "<",    "v",    "^",    "v",    "^",    ">",    "v",    "v",    ">",    "v",    "v",    "<",    "v",    ">",    "^",    "^",    "<",    "^",    "^",    "<",    "<",    ">",    "<",    ">",    "<",    "<",    "v",    ">",    "<",    "v",    "^",    "^",    ">",    "v",    ">",    "<",    "v",    ">",    "<",    "<",    ">",    "v",    ">",    "v",    "v",    "v",    "<",    "^",    "^",    "^",    "^",    "<",    "^",    ">",    ">",    ">",    "<",    "<",    "<",    "^",    "^",    "^",    "<",    "^",    ">",    "v",    "v",    "^",    "^",    "v",    ">",    ">",    "v",    "<",    "<",    "v",    "^",    "^",    "<",    "v",    "v",    "^",    "<",    "^",    ">",    "v",    "v",    "v",    "^",    "^",    "v",    "^",    "^",    "<",    "^",    "<",    "v",    "v",    ">",    "v",    "<",    "^",    "<",    ">",    "^",    "<",    "<",    "v",    "v",    "^",    "^",    ">",    "^",    "v",    ">",    ">",    "^",    ">",    "<",    ">",    "<",    ">",    "v",    "<",    "v",    "<",    "v",    "<",    ">",    ">",    "<",    "v",    ">",    ">",    ">",    "^",    "^",    ">",    ">",    "v",    "^",    ">",    "<",    "v",    "^",    "^",    "<",    "^",    ">",    ">",    "<",    ">",    "v",    "<",    ">",    "<",    "<",    "v",    "^",    "v",    "<",    "v",    "<",    "<",    ">",    ">",    ">",    ">",    "<",    ">",    ">",    ">",    ">",    ">",    "<",    "<",    "^",    "v",    "v",    "v",    "<",    "<",    ">",    "<",    ">",    "<",    "<",    ">",    "^",    ">",    "<",    ">",    "<",    "<",    "^",    "^",    "v",    ">",    "<",    "<",    "^",    ">",    "v",    ">",    "^",    ">",    "^",    "v",    ">",    "v",    ">",    ">",    "^",    "^",    "<",    ">",    "<",    "^",    ">",    "v",    "v",    "<",    "^",    "<",    "^",    "v",    ">",    "v",    "<",    ">",    "<",    "^",    "<",    "<",    "v",    "<",    ">",    "<",    "^",    ">",    "<",    ">",    "^",    "^",    "^",    "<",    "v",    "^",    "<",    ">",    "<",    "v",    "v",    "v",    "^",    "^",    "^",    "<",    ">",    "^",    "^",    "v",    ">",    "<",    "v",    "<",    "<",    "<",    "v",    ">",    ">",    "<",    ">",    "^",    ">",    "^",    "v",    "v",    "<",    "v",    "^",    "<",    "v",    "v",    ">",    "v",    ">",    "v",    "^",    "v",    "v",    "<",    "v",    "^",    "v",    "<",    "v",    ">",    "^",    "v",    "^",    ">",    "v",    ">",    "<",    ">",    "v",    "^",    ">",    "<",    ">",    "v",    ">",    "^",    "^",    "^",    "^",    ">",    "<",    "<",    "v",    "v",    "^",    ">",    "<",    "v",    "<",    "<",    "v",    "<",    "^",    "<",    ">",    "^",    "v",    "^",    "^",    "^",    ">",    "^",    "^",    ">",    "<",    "<",    "<",    "v",    "<",    "^",    "<",    "v",    "^",    ">",    "^",    "^",    ">",    "v",    ">",    "<",    "v",    "v",    "v",    "v",    "v",    "^",    "<",    "^",    "<",    "v",    "^",    "^",    ">",    "v",    "<",    "^",    "v",    "^",    "^",    "v",    "v",    "^",    "<",    "<",    "<",    "<",    "v",    ">",    "<",    "^",    ">",    "v",    ">",    "v",    "^",    "v",    ">",    "<",    ">",    "<",    "v",    "^",    "<",    "<",    "^",    "<",    "<",    "v",    "<",    "^",    "^",    "^",    ">",    "^",    ">",    "<",    "v",    "^",    "v",    "^",    "<",    ">",    "<",    ">",    "<",    ">",    "^",    "v",    "<",    "v",    ">",    "^",    "<",    ">",    "^",    "v",    ">",    "^",    "v",    ">",    "v",    "^",    "<",    ">",    "<",    "^",    ">",    "<",    "v",    ">",    ">",    "v",    "<",    "<",    "^",    ">",    "<",    "^",    "v",    "v",    "^",    "<",    ">",    "<",    "^",    "<",    ">",    ">",    "<",    ">",    ">",    "<",    "v",    "<",    "v",    ">",    "<",    "<",    "^",    "^",    "^",    "^",    ">",    "v",    "<",    "^",    "<",    "^",    "v",    "v",    "<",    ">",    "<",    "^",    "v",    "v",    ">",    "<",    "<",    "^",    "<",    "<",    "v",    ">",    "v",    "^",    ">",    ">",    "^",    "v",    ">",    "^",    ">",    "v",    "^",    "^",    "v",    ">",    "v",    "v",    "<",    "v",    ">",    "v",    "<",    "<",    "v",    ">",    "v",    "<",    ">",    "^",    ">",    ">",    "v",    "v",    "^",    ">",    ">",    ">",    "<",    ">",    "^",    "v",    "^",    "^",    "<",    "^",    ">",    "v",    "<",    "<",    "^",    "<",    "^",    "^",    "v",    "^",    "^",    "v",    "^",    "<",    "<",    "v",    "<",    "<",    "v",    "<",    "^",    "v",    "<",    ">",    "v",    "v",    "^",    "<",    "v",    ">",    ">",    "<",    "^",    "v",    "<",    "^",    ">",    ">",    ">",    "v",    "v",    "^",    "^",    "<",    "v",    "^",    "<",    ">",    "^",    "^",    "v",    "<",    "v",    "<",    "v",    ">",    ">",    "^",    ">",    "<",    "^",    "^",    "^",    "<",    ">",    "<",    "<",    "^",    "^",    ">",    "v",    "<",    "<",    "v",    "v",    ">",    ">",    "<",    "<",    "v",    "v",    "v",    ">",    ">",    "<",    "<",    "v",    "^",    "v",    "^",    ">",    ">",    "<",    ">",    "v",    "v",    "^",    ">",    "<",    "<",    "^",    ">",    "^",    ">",    "<",    "^",    "v",    "<",    "^",    "<",    "^",    "<",    "v",    "v",    "<",    "^",    "^",    "v",    "v",    ">",    "v",    "^",    "v",    "<",    "<",    "<",    "<",    "<",    "<",    ">",    "<",    "<",    "v",    "v",    "^",    "v",    "v",    ">",    "v",    "v",    ">",    "v",    "<",    "^",    ">",    "<",    "<",    ">",    "<",    ">",    "<",    "<",    ">",    ">",    "v",    ">",    ">",    "<",    "v",    ">",    "<",    "^",    ">",    "^",    "v",    ">",    "^",    "v",    "^",    "<",    ">",    "v",    "^",    "^",    "^",    ">",    "<",    "^",    "^",    "<",    "<",    "<",    "^",    "v",    "v",    "^",    "v",    "v",    ">",    "^",    "v",    "^",    "v",    "v",    "v",    "^",    "^",    ">",    "v",    "^",    "<",    "v",    ">",    ">",    "<",    "^",    "<",    "^",    "<",    "^",    "<",    ">",    "^",    "v",    "v",    "<",    "v",    "v",    "^",    "v",    "^",    "^",    ">",    "^",    "^",    "^",    ">",    "v",    "v",    "^",    "v",    ">",    ">",    ">",    "<",    "<",    "<",    "^",    "<",    ">",    ">",    "v",    ">",    "v",    "<",    "^",    "^",    "<",    ">",    "<",    "v",    ">",    ">",    ">",    "<",    ">",    "<",    "^",    "v",    "^",    "^",    "<",    "<",    ">",    "<",    "<",    "<",    ">",    "^",    "<",    "^",    "^",    "v",    "^",    ">",    "v",    "<",    "v",    "v",    "^",    "^",    "^",    "^",    ">",    ">",    "<",    "v",    ">",    "<",    "^",    "<",    "<",    "v",    "<",    "<",    "v",    "<",    ">",    "^",    ">",    "^",    ">",    ">",    "^",    "<",    ">",    "^",    "v",    ">",    "<",    ">",    ">",    "^",    "<",    "v",    "<",    "v",    "v",    "^",    "<",    "<",    "^",    "<",    "<",    ">",    "v",    "v",    "^",    ">",    "^",    "^",    "<",    "<",    "<",    "^",    "v",    "<",    ">",    ">",    "^",    "v",    "<",    ">",    "v",    "v",    "v",    "<",    "<",    "^",    "^",    "<",    "<",    ">",    "<",    "v",    "v",    "v",    "v",    "v",    "<",    "<",    "^",    "<",    "^",    "^",    "<",    ">",    ">",    ">",    ">",    "^",    "^",    "<",    ">",    "<",    ">",    "^",    ">",    "<",    ">",    "^",    "v",    "<",    "v",    "^",    "^",    "v",    "<",    "<",    "v",    "^",    "^",    "<",    "^",    "<",    "^",    ">",    "v",    "<",    "v",    ">",    "^",    "v",    "<",    "^",    ">",    "^",    "v",    "<",    ">",    "v",    "^",    "v",    "v",    "<",    ">",    "<",    "<",    "v",    ">",    "^",    "v",    "v",    "v",    "<",    ">",    "<",    "<",    "^",    ">",    ">",    "^",    "^",    ">",    "<",    ">",    "<",    ">",    "^",    "<",    ">",    "^",    ">",    "v",    "^",    "^",    "v",    "^",    ">",    "<",    "v",    "<",    ">",    "<",    ">",    ">",    "v",    ">",    "<",    "v",    "^",    "<",    "v",    "<",    "<",    "v",    ">",    ">",    "<",    "^",    "v",    ">",    "^",    "<",    "v",    "<",    "^",    ">",    "v",    "<",    "<",    "<",    ">",    "v",    "v",    "v",    "^",    "<",    "^",    "^",    "v",    "<",    "v",    "v",    "v",    "^",    "v",    "v",    "<",    ">",    "^",    "<",    ">",    "^",    ">",    ">",    "v",    "<",    ">",    "^",    "^",    ">",    "<",    ">",    "<",    "v",    ">",    ">",    "^",    ">",    "<",    "^",    "^",    "v",    "v",    ">",    ">",    "<",    "<",    ">",    ">",    "<",    "v",    ">",    "<",    "^",    ">",    "<",    ">",    ">",    "^",    "v",    "v",    ">",    "v",    "<",    "v",    "v",    "<",    ">",    "v",    "^",    "v",    "^",    "^",    "v",    "<",    "<",    "^",    "^",    "<",    "v",    "v",    ">",    "v",    "^",    "^",    "v",    "v",    "<",    "<",    "^",    "<",    "<",    ">",    "<",    ">",    "^",    "<",    ">",    "<",    "v",    "^",    ">",    "<",    "^",    "<",    "^",    "<",    ">",    ">",    "^",    "v",    "v",    "<",    "v",    ">",    "v",    ">",    ">",    "^",    "<",    "^",    "v",    "v",    ">",    "^",    "v",    "v",    "^",    ">",    "v",    ">",    "^",    "<",    ">",    "<",    "^",    ">",    "<",    "^",    "<",    ">",    "v",    "^",    "v",    "^",    "^",    "<",    "^",    "<",    ">",    "^",    "^",    "v",    ">",    ">",    ">",    "<",    "^",    "v",    "<",    ">",    "v",    "^",    "v",    "<",    "<",    "^",    ">",    "v",    ">",    "<",    ">",    "^",    "^",    "<",    "<",    "v",    "^",    "v",    "<",    ">",    "v",    "^",    ">",    ">",    "v",    ">",    "^",    "<",    ">",    "<",    "v",    "v",    "^",    "v",    "<",    "v",    "^",    "<",    "v",    "v",    "<",    ">",    "^",    ">",    "^",    ">",    "^",    "<",    "^",    ">",    "v",    ">",    "<",    "<",    ">",    "<",    ">",    "<",    ">",    "<",    "<",    "<",    ">",    "^",    ">",    ">",    "<",    "v",    "^",    "^",    ">",    "<",    "^",    ">",    ">",    "<",    "v",    ">",    ">",    "^",    "v",    "<",    "<",    "<",    "^",    "<",    "<",    ">",    "^",    ">",    "<",    "<",    "^",    ">",    ">",    ">",    ">",    ">",    "v",    "<",    "^",    ">",    "v",    ">",    ">",    "v",    "^",    "<",    "v",    "^",    ">",    "^",    ">",    "v",    "^",    "^",    ">",    "<",    ">",    "v",    "^",    "v",    "^",    "v",    "v",    "v",    "v",    "<",    "v",    "<",    "v",    "<",    ">",    "v",    ">",    ">",    ">",    "<",    "<",    ">",    "^",    "<",    "<",    "v",    "v",    "v",    ">",    "<",    "v",    "^",    "v",    "^",    ">",    "v",    "<",    "v",    "^",    "^",    "^",    ">",    ">",    "^",    "<",    "v",    ">",    ">",    "^",    "v",    "v",    "^",    "^",    "<",    "v",    "v",    ">",    "<",    "^",    ">",    ">",    "v",    "<",    "v",    "^",    ">",    "<",    "v",    "v",    "v",    "<",    "^",    "^",    ">",    ">",    "v",    "v",    "^",    "v",    "<",    "^",    "<",    ">",    "^",    "v",    "^",    "<",    "<",    "v",    ">",    "^",    "<",    "<",    ">",    "<",    "<",    "<",    "^",    "v",    "v",    "v",    "^",    ">",    "^",    "^",    "<",    "<",    ">",    ">",    ">",    "<",    "v",    "<",    "^",    ">",    "v",    "v",    "<",    "<",    "^",    "<",    ">",    "<",    "^",    "v",    "<",    "^",    "<",    ">",    "<",    "<",    "^",    "^",    ">",    "v",    "v",    "^",    "v",    ">",    "v",    "^",    "^",    "^",    ">",    ">",    ">",    ">",    "^",    ">",    "v",    "v",    "<",    "<",    "v",    ">",    "v",    ">",    ">",    "^",    "^",    "v",    "^",    "^",    ">",    "<",    ">",    "v",    "<",    "<",    "^",    ">",    "<",    "^",    "<",    "v",    "^",    ">",    ">",    "^",    ">",    "v",    "^",    "v",    ">",    ">",    "<",    "^",    "v",    "^",    ">",    "v",    "<",    "<",    "^",    "<",    "v",    ">",    "<",    "^",    "<",    "^",    "<",    "^",    "<",    ">",    ">",    "v",    "^",    "^",    ">",    ">",    "<",    "<",    "<",    ">",    "v",    "<",    "v",    ">",    "v",    "<",    "^",    "^",    ">",    "^",    "v",    "v",    "<",    "<",    "<",    "^",    "^",    "<",    "v",    "<",    ">",    "v",    "^",    "^",    ">",    "v",    "<",    "<",    ">",    "<",    "^",    "<",    ">",    "^",    "^",    ">",    "^",    "v",    "<",    ">",    "v",    ">",    ">",    "<",    "^",    "^",    "^",    "v",    "v",    "^",    ">",    "^",    ">",    "<",    ">",    "v",    "^",    "^",    "<",    "v",    "^",    "<",    ">",    ">",    "^",    "<",    "v",    "^",    "^",    "^",    ">",    "<",    "v",    "<",    ">",    "<",    "v",    "v",    "v",    ">",    "v",    ">",    "^",    "<",    "<",    "^",    "v",    ">",    "^",    ">",    ">",    ">",    ">",    ">",    "<",    "^",    "^",    "^",    "<",    ">",    "v",    "<",    "v",    ">",    ">",    "v",    "^",    "^",    "<",    "^",    "v",    "^",    ">",    ">",    "v",    "^",    "<",    "<",    "v",    "^",    ">",    "^",    ">",    "v",    "^",    "v",    ">",    ">",    ">",    ">",    "^",    ">",    ">",    "v",    "v",    "<",    ">",    "^",    "<",    "^",    "v",    ">",    "<",    "v",    "^",    "^",    "<",    ">",    "v",    ">",    "v",    "^",    "v",    ">",    "^",    "<",    ">",    "^",    ">",    "v",    "<",    "v",    "v",    ">",    "<",    "<",    "v",    "<",    "^",    "v",    "<",    "<",    "^",    "v",    "<",    "<",    "^",    "v",    "^",    "v",    "v",    "<",    ">",    "<",    ">",    "^",    "<",    ">",    ">",    "^",    "<",    ">",    ">",    "^",    "<",    ">",    "v",    "^",    ">",    "<",    "<",    ">",    "^",    "v",    ">",    ">",    "^",    "^",    "^",    "^",    "<",    "<",    "^",    "v",    ">",    "<",    ">",    "^",    "<",    "^",    ">",    "^",    "^",    "v",    ">",    "<",    "^",    "^",    "<",    "^",    "<",    "v",    "^",    "<",    "^",    "^",    "v",    ">",    "^",    "v",    ">",    "<",    "v",    "v",    ">",    "v",    "<",    "<",    "^",    ">",    "^",    ">",    ">",    "<",    "<",    "^",    "^",    "^",    "v",    "v",    "v",    "<",    "<",    "^",    "v",    "v",    "<",    "^",    "^",    ">",    "v",    "^",    "^",    "v",    "v",    "^",    "<",    "^",    "^",    "<",    "<",    "^",    "^",    ">",    ">",    "^",    "^",    "<",    "v",    "v",    "<",    "v",    "<",    "<",    "v",    "^",    "^",    "<",    "<",    "v",    "<",    "^",    "v",    "v",    "v",    "<",    "<",    ">",    "<",    "<",    "v",    ">",    "v",    "^",    ">",    ">",    "v",    "^",    "^",    ">",    "v",    "<",    "^",    ">",    "^",    ">",    "<",    "v",    "<",    "^",    ">",    "v",    "<",    "v",    "^",    "v",    "<",    "v",    "^",    "^",    "<",    ">",    "v",    ">",    ">",    "<",    "<",    "v",    "^",    "v",    "^",    "v",    "<",    "^",    "^",    "^",    ">",    "<",    "v",    ">",    "v",    ">",    "<",    "^",    "<",    "^",    "v",    "v",    ">",    "^",    "^",    "v",    ">",    "^",    ">",    "v",    "<",    "<",    "^",    "v",    "v",    ">",    "<",    "^",    "^",    "^",    "^",    "^",    "^",    ">",    "<",    "<",    "^",    ">",    ">",    ">",    "^",    "v",    "<",    ">",    "^",    "^",    "v",    "<",    "<",    "<",    ">",    ">",    "<",    "<",    "<",    "v",    "^",    ">",    "<",    ">",    "^",    "<",    "<",    "<",    "v",    ">",    "v",    "^",    ">",    "^",    "^",    "^",    "<",    "^",    ">",    "<",    "v",    ">",    "^",    "^",    "^",    "v",    "<",    "<",    ">",    "v",    "<",    "v",    ">",    "^",    "<",    "v",    "^",    ">",    ">",    "<",    "<",    "^",    "^",    "<",    "<",    "^",    "v",    "<",    "<",    ">",    "^",    "v",    ">",    ">",    "v",    "v",    ">",    ">",    "<",    "v",    "<",    "^",    ">",    "<",    "v",    "<",    "<",    "<",    "v",    "v",    "v",    ">",    "<",    "v",    "v",    ">",    "<",    "<",    "^",    "v",    "^",    "^",    "<",    "v",    "^",    "v",    "v",    "v",    "<",    "^",    "v",    ">",    ">",    "v",    "^",    "v",    "<",    "v",    "^",    "v",    "^",    ">",    ">",    "^",    "^",    "v",    "<",    ">",    "<",    "^",    "^",    "^",    "<",    "^",    "^",    ">",    "v",    ">",    "^",    "<",    ">",    "<",    "v",    "<",    "<",    "v",    "^",    "^",    ">",    "v",    "v",    "v",    "^",    "v",    "^",    "^",    "<",    "v",    "<",    "v",    "^",    "v",    ">",    "^",    ">",    "v",    "^",    "^",    "v",    "<",    "^",    ">",    "<",    "v",    "^",    "^",    "<",    "<",    "<",    "<",    ">",    "^",    "^",    ">",    ">",    "^",    "v",    "<",    ">",    "<",    "^",    ">",    "<",    "^",    "<",    "<",    "^",    "v",    "v",    "^",    "<",    ">",    "<",    "<",    ">",    "v",    "^",    "v",    "v",    "^",    "<",    "v",    "^",    "<",    ">",    "<",    "<",    "<",    "^",    "^",    ">",    "v",    "<",    "<",    ">",    ">",    ">",    "v",    "<",    ">",    "v",    "<",    ">",    "<",    "<",    "<",    "v",    ">",    "^",    "v",    ">",    "^",    "^",    "v",    ">",    "^",    "^",    ">",    "v",    ">",    "^",    ">",    "^",    ">",    "v",    "<",    ">",    ">",    "<",    ">",    "^",    ">",    "^",    ">",    "^",    "v",    "v",    "v",    "v",    "<",    "^",    "<",    "v",    "^",    "<",    ">",    "^",    "^",    "^",    "^",    "v",    ">",    "v",    ">",    ">",    "<",    "<",    "v",    ">",    ">",    "^",    "<",    "v",    "v",    ">",    ">",    "^",    "<",    "v",    "<",    "^",    "v",    "^",    "v",    "v",    ">",    ">",    "<",    ">",    "^",    "^",    ">",    "v",    "^",    "^",    "<",    "<",    ">",    "<",    "^",    "<",    "v",    ">",    ">",    "<",    "<",    "<",    "<",    ">",    "v",    ">",    "^",    "^",    ">",    "<",    "v",    "^",    "^",    "v",    "<",    "<",    "v",    "<",    ">",    "<",    "v",    "v",    "^",    "v",    ">",    "^",    "<",    "v",    "^",    "^",    ">",    "v",    "<",    "<",    "<",    "<",    "v",    "^",    "v",    "<",    "<",    ">",    ">",    "v",    "v",    "<",    "v",    "<",    "<",    "<",    "v",    ">",    "v",    ">",    ">",    "v",    "<",    "^",    "v",    ">",    ">",    "v",    ">",    "v",    "^",    "<",    "<",    "<",    ">",    "^",    ">",    "^",    ">",    "^",    "<",    ">",    "v",    "<",    "^",    "^",    "v",    "v",    ">",    "<",    "^",    "v",    "<",    "<",    "^",    "v",    "<",    "v",    "v",    "v",    "^",    "v",    "v",    ">",    "v",    "<",    "^",    "<",    "<",    "^",    "^",    "v",    "v",    "^",    "^",    ">",    "v",    "v",    "<",    "^",    ">",    "v",    ">",    "^",    "^",    "<",    "<",    "v",    "^",    "<",    "<",    "^",    "^",    "v",    "<",    ">",    "^",    ">",    "v",    "<",    "<",    "^",    "^",    "<",    "^",    ">",    "^",    "^",    "^",    "v",    "^",    "^",    "<",    "v",    "<",    "^",    "<",    "^",    ">",    ">",    ">",    "v",    "^",    "v",    "v",    "^",    "<",    "^",    "v",    ">",    "^",    "<",    ">",    "^",    "<",    "^",    "<",    "v",    "<",    "^",    "v",    ">",    ">",    ">",    "^",    "<",    "^",    "v",    "<",    ">",    "<",    "v",    "<",    "^",    "v",    "v",    "<",    "v",    ">",    "v",    ">",    "<",    "v",    "^",    "v",    "^",    "^",    "v",    "<",    "v",    "v",    ">",    "<",    "^",    "^",    "<",    ">",    "<",    ">",    "^",    ">",    "v",    "<",    "^",    "<",    "^",    "v",    "v",    ">",    ">",    "<",    "^",    "v",    ">",    "<",    "v",    "<",    ">",    "^",    "<",    ">",    "^",    "^",    ">",    "^",    "<",    ">",    "<",    "<",    "<",    "v",    "^",    ">",    ">",    "^",    "<",    ">",    ">",    "<",    "<",    ">",    "<",    "v",    ">",    "v",    "v",    "v",    "^",    "<",    "<",    "^",    "<",    "v",    "v",    "<",    "v",    ">",    "<",    "v",    "<",    "^",    "<",    "<",    "<",    "^",    ">",    "^",    ">",    ">",    "v",    "<",    "^",    ">",    ">",    "v",    "v",    ">",    "^",    "v",    "^",    "^",    "^",    "v",    "<",    ">",    "v",    "<",    ">",    ">",    "<",    ">",    "^",    "v",    "v",    "^",    ">",    "v",    "v",    "^"]
  13.  
  14.  
  15. mainTask : Task ExitCode [] [ Write [Stdout]]
  16. mainTask =
  17.     houses : Dict { x : Int *, y : Int * } (Int *)
  18.     houses =
  19.         starterMap =
  20.             Dict.insert Dict.empty { x: 0, y: 0 } 1
  21.  
  22.         graphemes
  23.         |> List.walk {map: starterMap, pos: {x: 0, y: 0}} \{map, pos}, c ->
  24.             newPos =
  25.                 when c is
  26.                     "^" -> {pos & y: pos.y + 1}
  27.                     "v" -> {pos & y: pos.y - 1}
  28.                     ">" -> {pos & x: pos.x + 1}
  29.                     "<" -> {pos & x: pos.x - 1}
  30.                     _ -> pos
  31.  
  32.             newMap =
  33.                 map
  34.                 |> Dict.update newPos \value ->
  35.                     when value is
  36.                         Missing -> Present 1
  37.                         Present n -> Present (n + 1)
  38.  
  39.             {map: newMap, pos: newPos}
  40.         |> .map
  41.  
  42.  
  43.  
  44.  
  45.     folksWhoGainedPresent : Nat
  46.     folksWhoGainedPresent =
  47.         Dict.len houses
  48.  
  49.     folksWhoGainedPresentStr : Str
  50.     folksWhoGainedPresentStr =
  51.         Num.toStr folksWhoGainedPresent
  52.  
  53.     Stdout.line "Folks: \(folksWhoGainedPresentStr)"
  54.     |> Program.exit 0
  55.  
Advertisement
Add Comment
Please, Sign In to add comment