func main() var x: int :: cui@inputInt() var y: int :: cui@inputInt() var dx: []int :: [2, 2, 1, 1, -1, -1, -2, -2] var dy: []int :: [1, -1, 2, -2, 2, -2, 1, -1] var qu: queue :: #queue do qu.add((#C).init(0, 0, 0)) var ans: bool :: false while loop(^qu <> 0) var c: C :: qu.get() if(c.cnt = 3) skip loop end if for i(0, 7) var nx: int :: c.px + dx[i] var ny: int :: c.py + dy[i] if(nx = x & ny = y) do ans :: true break loop end if do qu.add((#C).init(nx, ny, c.cnt + 1)) end for end while do cui@print(ans ?("YES\n", "NO\n")) class C() +var px: int +var py: int +var cnt: int +func init(px: int, py: int, cnt: int): C do me.px :: px do me.py :: py do me.cnt :: cnt ret me end func end class end func