solve() invocation 1 starting with visit = 1 visit = 1 @ [0][0], dir = 0, been there returns true visit = 1 @ [0][0], dir = 1, been there returns true visit = 1 @ [0][0], dir = 2, been there returns false 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 solve() invocation 2 starting with visit = 2 visit = 2 @ [1][2], dir = 0, been there returns true visit = 2 @ [1][2], dir = 1, been there returns false 1 0 0 0 3 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 solve() invocation 3 starting with visit = 3 visit = 3 @ [0][4], dir = 0, been there returns true visit = 3 @ [0][4], dir = 1, been there returns true visit = 3 @ [0][4], dir = 2, been there returns true visit = 3 @ [0][4], dir = 3, been there returns true visit = 3 @ [0][4], dir = 4, been there returns false 1 0 0 0 3 0 0 2 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 solve() invocation 4 starting with visit = 4 visit = 4 @ [2][3], dir = 0, been there returns true visit = 4 @ [2][3], dir = 1, been there returns true visit = 4 @ [2][3], dir = 2, been there returns true visit = 4 @ [2][3], dir = 3, been there returns false 1 0 0 0 3 0 0 2 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 5 solve() invocation 5 starting with visit = 5 visit = 5 @ [4][4], dir = 0, been there returns true visit = 5 @ [4][4], dir = 1, been there returns true visit = 5 @ [4][4], dir = 2, been there returns true visit = 5 @ [4][4], dir = 3, been there returns true visit = 5 @ [4][4], dir = 4, been there returns true visit = 5 @ [4][4], dir = 5, been there returns true visit = 5 @ [4][4], dir = 6, been there returns false 1 0 0 0 3 0 0 2 0 0 0 0 0 4 0 0 0 6 0 0 0 0 0 0 5 solve() invocation 6 starting with visit = 6 visit = 6 @ [3][2], dir = 0, been there returns false 1 0 0 0 3 0 0 2 7 0 0 0 0 4 0 0 0 6 0 0 0 0 0 0 5 solve() invocation 7 starting with visit = 7 visit = 7 @ [1][3], dir = 0, been there returns true visit = 7 @ [1][3], dir = 1, been there returns true visit = 7 @ [1][3], dir = 2, been there returns true visit = 7 @ [1][3], dir = 3, been there returns false 1 0 0 0 3 0 0 2 7 0 0 0 0 4 0 0 0 6 0 8 0 0 0 0 5 solve() invocation 8 starting with visit = 8 visit = 8 @ [3][4], dir = 0, been there returns true visit = 8 @ [3][4], dir = 1, been there returns true visit = 8 @ [3][4], dir = 2, been there returns true visit = 8 @ [3][4], dir = 3, been there returns true visit = 8 @ [3][4], dir = 4, been there returns true visit = 8 @ [3][4], dir = 5, been there returns false 1 0 0 0 3 0 0 2 7 0 0 0 0 4 0 0 0 6 0 8 0 0 9 0 5 solve() invocation 9 starting with visit = 9 visit = 9 @ [4][2], dir = 0, been there returns true visit = 9 @ [4][2], dir = 1, been there returns true visit = 9 @ [4][2], dir = 2, been there returns true visit = 9 @ [4][2], dir = 3, been there returns true visit = 9 @ [4][2], dir = 4, been there returns true visit = 9 @ [4][2], dir = 5, been there returns true visit = 9 @ [4][2], dir = 6, been there returns false 1 0 0 0 3 0 0 2 7 0 0 0 0 4 0 10 0 6 0 8 0 0 9 0 5 solve() invocation 10 starting with visit = 10 visit = 10 @ [3][0], dir = 0, been there returns false 1 0 0 0 3 0 11 2 7 0 0 0 0 4 0 10 0 6 0 8 0 0 9 0 5 solve() invocation 11 starting with visit = 11 visit = 11 @ [1][1], dir = 0, been there returns true visit = 11 @ [1][1], dir = 1, been there returns false 1 0 0 12 3 0 11 2 7 0 0 0 0 4 0 10 0 6 0 8 0 0 9 0 5 solve() invocation 12 starting with visit = 12 visit = 12 @ [0][3], dir = 0, been there returns true visit = 12 @ [0][3], dir = 1, been there returns true visit = 12 @ [0][3], dir = 2, been there returns true visit = 12 @ [0][3], dir = 3, been there returns false 1 0 0 12 3 0 11 2 7 0 0 0 0 4 13 10 0 6 0 8 0 0 9 0 5 solve() invocation 13 starting with visit = 13 visit = 13 @ [2][4], dir = 0, been there returns true visit = 13 @ [2][4], dir = 1, been there returns true visit = 13 @ [2][4], dir = 2, been there returns true visit = 13 @ [2][4], dir = 3, been there returns true visit = 13 @ [2][4], dir = 4, been there returns false 1 0 0 12 3 0 11 2 7 0 0 0 0 4 13 10 0 6 0 8 0 0 9 14 5 solve() invocation 14 starting with visit = 14 visit = 14 @ [4][3], dir = 0, been there returns true visit = 14 @ [4][3], dir = 1, been there returns true visit = 14 @ [4][3], dir = 2, been there returns true visit = 14 @ [4][3], dir = 3, been there returns true visit = 14 @ [4][3], dir = 4, been there returns true visit = 14 @ [4][3], dir = 5, been there returns true visit = 14 @ [4][3], dir = 6, been there returns false 1 0 0 12 3 0 11 2 7 0 0 0 0 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 15 starting with visit = 15 visit = 15 @ [3][1], dir = 0, been there returns true visit = 15 @ [3][1], dir = 1, been there returns true visit = 15 @ [3][1], dir = 2, been there returns true visit = 15 @ [3][1], dir = 3, been there returns true visit = 15 @ [3][1], dir = 4, been there returns true visit = 15 @ [3][1], dir = 5, been there returns true visit = 15 @ [3][1], dir = 6, been there returns true visit = 15 @ [3][1], dir = 7, been there returns false 1 0 0 12 3 16 11 2 7 0 0 0 0 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 16 starting with visit = 16 visit = 16 @ [1][0], dir = 0, been there returns true visit = 16 @ [1][0], dir = 1, been there returns false 1 0 17 12 3 16 11 2 7 0 0 0 0 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 17 starting with visit = 17 visit = 17 @ [0][2], dir = 0, been there returns true visit = 17 @ [0][2], dir = 1, been there returns true visit = 17 @ [0][2], dir = 2, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 0 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 18 starting with visit = 18 visit = 18 @ [1][4], dir = 0, been there returns true visit = 18 @ [1][4], dir = 1, been there returns true visit = 18 @ [1][4], dir = 2, been there returns true visit = 18 @ [1][4], dir = 3, been there returns true visit = 18 @ [1][4], dir = 4, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 0 4 13 10 15 6 19 8 0 0 9 14 5 solve() invocation 19 starting with visit = 19 visit = 19 @ [3][3], dir = 0, been there returns true visit = 19 @ [3][3], dir = 1, been there returns true visit = 19 @ [3][3], dir = 2, been there returns true visit = 19 @ [3][3], dir = 3, been there returns true visit = 19 @ [3][3], dir = 4, been there returns true visit = 19 @ [3][3], dir = 5, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 0 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 20 starting with visit = 20 visit = 20 @ [4][1], dir = 0, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 21 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 21 starting with visit = 21 visit = 21 @ [2][2], dir = 0, been there returns true visit = 21 @ [2][2], dir = 1, been there returns true visit = 21 @ [2][2], dir = 2, been there returns true visit = 21 @ [2][2], dir = 3, been there returns true visit = 21 @ [2][2], dir = 4, been there returns true visit = 21 @ [2][2], dir = 5, been there returns true visit = 21 @ [2][2], dir = 6, been there returns true visit = 21 @ [2][2], dir = 7, been there returns false 1 22 17 12 3 16 11 2 7 18 0 0 21 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 22 starting with visit = 22 visit = 22 @ [0][1], dir = 0, been there returns true visit = 22 @ [0][1], dir = 1, been there returns true visit = 22 @ [0][1], dir = 2, been there returns true visit = 22 @ [0][1], dir = 3, been there returns true visit = 22 @ [0][1], dir = 4, been there returns false 1 22 17 12 3 16 11 2 7 18 23 0 21 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 23 starting with visit = 23 visit = 23 @ [2][0], dir = 0, been there returns true visit = 23 @ [2][0], dir = 1, been there returns true visit = 23 @ [2][0], dir = 2, been there returns true visit = 23 @ [2][0], dir = 3, been there returns true visit = 23 @ [2][0], dir = 4, been there returns true visit = 23 @ [2][0], dir = 5, been there returns true visit = 23 @ [2][0], dir = 6, been there returns true visit = 23 @ [2][0], dir = 7, been there returns true clearing [2][0] visit = 22 @ [0][1], dir = 5, been there returns true visit = 22 @ [0][1], dir = 6, been there returns true visit = 22 @ [0][1], dir = 7, been there returns true clearing [0][1] clearing [2][2] visit = 20 @ [4][1], dir = 1, been there returns true visit = 20 @ [4][1], dir = 2, been there returns true visit = 20 @ [4][1], dir = 3, been there returns true visit = 20 @ [4][1], dir = 4, been there returns true visit = 20 @ [4][1], dir = 5, been there returns true visit = 20 @ [4][1], dir = 6, been there returns true visit = 20 @ [4][1], dir = 7, been there returns false 1 0 17 12 3 16 11 2 7 18 21 0 0 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 24 starting with visit = 21 visit = 21 @ [2][0], dir = 0, been there returns false 1 22 17 12 3 16 11 2 7 18 21 0 0 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 25 starting with visit = 22 visit = 22 @ [0][1], dir = 0, been there returns true visit = 22 @ [0][1], dir = 1, been there returns true visit = 22 @ [0][1], dir = 2, been there returns true visit = 22 @ [0][1], dir = 3, been there returns false 1 22 17 12 3 16 11 2 7 18 21 0 23 4 13 10 15 6 19 8 0 20 9 14 5 solve() invocation 26 starting with visit = 23 visit = 23 @ [2][2], dir = 0, been there returns true visit = 23 @ [2][2], dir = 1, been there returns true visit = 23 @ [2][2], dir = 2, been there returns true visit = 23 @ [2][2], dir = 3, been there returns true visit = 23 @ [2][2], dir = 4, been there returns true visit = 23 @ [2][2], dir = 5, been there returns true visit = 23 @ [2][2], dir = 6, been there returns true visit = 23 @ [2][2], dir = 7, been there returns true clearing [2][2] visit = 22 @ [0][1], dir = 4, been there returns true visit = 22 @ [0][1], dir = 5, been there returns true visit = 22 @ [0][1], dir = 6, been there returns true visit = 22 @ [0][1], dir = 7, been there returns true clearing [0][1] visit = 21 @ [2][0], dir = 1, been there returns true visit = 21 @ [2][0], dir = 2, been there returns true visit = 21 @ [2][0], dir = 3, been there returns true visit = 21 @ [2][0], dir = 4, been there returns true visit = 21 @ [2][0], dir = 5, been there returns true visit = 21 @ [2][0], dir = 6, been there returns true visit = 21 @ [2][0], dir = 7, been there returns true clearing [2][0] clearing [4][1] visit = 19 @ [3][3], dir = 6, been there returns false 1 0 17 12 3 16 11 2 7 18 0 20 0 4 13 10 15 6 19 8 0 0 9 14 5 solve() invocation 27 starting with visit = 20 visit = 20 @ [2][1], dir = 0, been there returns true visit = 20 @ [2][1], dir = 1, been there returns true visit = 20 @ [2][1], dir = 2, been there returns true visit = 20 @ [2][1], dir = 3, been there returns true visit = 20 @ [2][1], dir = 4, been there returns false 1 0 17 12 3 16 11 2 7 18 0 20 0 4 13 10 15 6 19 8 21 0 9 14 5 solve() invocation 28 starting with visit = 21 visit = 21 @ [4][0], dir = 0, been there returns true visit = 21 @ [4][0], dir = 1, been there returns true visit = 21 @ [4][0], dir = 2, been there returns true visit = 21 @ [4][0], dir = 3, been there returns true visit = 21 @ [4][0], dir = 4, been there returns true visit = 21 @ [4][0], dir = 5, been there returns true visit = 21 @ [4][0], dir = 6, been there returns true visit = 21 @ [4][0], dir = 7, been there returns true clearing [4][0] visit = 20 @ [2][1], dir = 5, been there returns true visit = 20 @ [2][1], dir = 6, been there returns true visit = 20 @ [2][1], dir = 7, been there returns true clearing [2][1] visit = 19 @ [3][3], dir = 7, been there returns true clearing [3][3] visit = 18 @ [1][4], dir = 5, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 19 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 29 starting with visit = 19 visit = 19 @ [2][2], dir = 0, been there returns true visit = 19 @ [2][2], dir = 1, been there returns true visit = 19 @ [2][2], dir = 2, been there returns true visit = 19 @ [2][2], dir = 3, been there returns true visit = 19 @ [2][2], dir = 4, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 19 4 13 10 15 6 0 8 0 20 9 14 5 solve() invocation 30 starting with visit = 20 visit = 20 @ [4][1], dir = 0, been there returns true visit = 20 @ [4][1], dir = 1, been there returns false 1 0 17 12 3 16 11 2 7 18 0 0 19 4 13 10 15 6 21 8 0 20 9 14 5 solve() invocation 31 starting with visit = 21 visit = 21 @ [3][3], dir = 0, been there returns true visit = 21 @ [3][3], dir = 1, been there returns true visit = 21 @ [3][3], dir = 2, been there returns true visit = 21 @ [3][3], dir = 3, been there returns true visit = 21 @ [3][3], dir = 4, been there returns true visit = 21 @ [3][3], dir = 5, been there returns true visit = 21 @ [3][3], dir = 6, been there returns false 1 0 17 12 3 16 11 2 7 18 0 22 19 4 13 10 15 6 21 8 0 20 9 14 5 solve() invocation 32 starting with visit = 22 visit = 22 @ [2][1], dir = 0, been there returns true visit = 22 @ [2][1], dir = 1, been there returns true visit = 22 @ [2][1], dir = 2, been there returns true visit = 22 @ [2][1], dir = 3, been there returns true visit = 22 @ [2][1], dir = 4, been there returns false 1 0 17 12 3 16 11 2 7 18 0 22 19 4 13 10 15 6 21 8 23 20 9 14 5 solve() invocation 33 starting with visit = 23 visit = 23 @ [4][0], dir = 0, been there returns true visit = 23 @ [4][0], dir = 1, been there returns true visit = 23 @ [4][0], dir = 2, been there returns true visit = 23 @ [4][0], dir = 3, been there returns true visit = 23 @ [4][0], dir = 4, been there returns true visit = 23 @ [4][0], dir = 5, been there returns true visit = 23 @ [4][0], dir = 6, been there returns true visit = 23 @ [4][0], dir = 7, been there returns true clearing [4][0] visit = 22 @ [2][1], dir = 5, been there returns true visit = 22 @ [2][1], dir = 6, been there returns true visit = 22 @ [2][1], dir = 7, been there returns true clearing [2][1] visit = 21 @ [3][3], dir = 7, been there returns true clearing [3][3] visit = 20 @ [4][1], dir = 2, been there returns true visit = 20 @ [4][1], dir = 3, been there returns true visit = 20 @ [4][1], dir = 4, been there returns true visit = 20 @ [4][1], dir = 5, been there returns true visit = 20 @ [4][1], dir = 6, been there returns true visit = 20 @ [4][1], dir = 7, been there returns false 1 0 17 12 3 16 11 2 7 18 21 0 19 4 13 10 15 6 0 8 0 20 9 14 5 solve() invocation 34 starting with visit = 21 visit = 21 @ [2][0], dir = 0, been there returns false 1 22 17 12 3 16 11 2 7 18 21 0 19 4 13 10 15 6 0 8 0 20 9 14 5 solve() invocation 35 starting with visit = 22 visit = 22 @ [0][1], dir = 0, been there returns true visit = 22 @ [0][1], dir = 1, been there returns true visit = 22 @ [0][1], dir = 2, been there returns true visit = 22 @ [0][1], dir = 3, been there returns true visit = 22 @ [0][1], dir = 4, been there returns true visit = 22 @ [0][1], dir = 5, been there returns true visit = 22 @ [0][1], dir = 6, been there returns true visit = 22 @ [0][1], dir = 7, been there returns true clearing [0][1] visit = 21 @ [2][0], dir = 1, been there returns true visit = 21 @ [2][0], dir = 2, been there returns true visit = 21 @ [2][0], dir = 3, been there returns true visit = 21 @ [2][0], dir = 4, been there returns true visit = 21 @ [2][0], dir = 5, been there returns true visit = 21 @ [2][0], dir = 6, been there returns true visit = 21 @ [2][0], dir = 7, been there returns true clearing [2][0] clearing [4][1] visit = 19 @ [2][2], dir = 5, been there returns true visit = 19 @ [2][2], dir = 6, been there returns true visit = 19 @ [2][2], dir = 7, been there returns false 1 20 17 12 3 16 11 2 7 18 0 0 19 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 36 starting with visit = 20 visit = 20 @ [0][1], dir = 0, been there returns true visit = 20 @ [0][1], dir = 1, been there returns true visit = 20 @ [0][1], dir = 2, been there returns true visit = 20 @ [0][1], dir = 3, been there returns true visit = 20 @ [0][1], dir = 4, been there returns false 1 20 17 12 3 16 11 2 7 18 21 0 19 4 13 10 15 6 0 8 0 0 9 14 5 solve() invocation 37 starting with visit = 21 visit = 21 @ [2][0], dir = 0, been there returns true visit = 21 @ [2][0], dir = 1, been there returns true visit = 21 @ [2][0], dir = 2, been there returns true visit = 21 @ [2][0], dir = 3, been there returns false 1 20 17 12 3 16 11 2 7 18 21 0 19 4 13 10 15 6 0 8 0 22 9 14 5 solve() invocation 38 starting with visit = 22 visit = 22 @ [4][1], dir = 0, been there returns true visit = 22 @ [4][1], dir = 1, been there returns false 1 20 17 12 3 16 11 2 7 18 21 0 19 4 13 10 15 6 23 8 0 22 9 14 5 solve() invocation 39 starting with visit = 23 visit = 23 @ [3][3], dir = 0, been there returns true visit = 23 @ [3][3], dir = 1, been there returns true visit = 23 @ [3][3], dir = 2, been there returns true visit = 23 @ [3][3], dir = 3, been there returns true visit = 23 @ [3][3], dir = 4, been there returns true visit = 23 @ [3][3], dir = 5, been there returns true visit = 23 @ [3][3], dir = 6, been there returns false 1 20 17 12 3 16 11 2 7 18 21 24 19 4 13 10 15 6 23 8 0 22 9 14 5 solve() invocation 40 starting with visit = 24 visit = 24 @ [2][1], dir = 0, been there returns true visit = 24 @ [2][1], dir = 1, been there returns true visit = 24 @ [2][1], dir = 2, been there returns true visit = 24 @ [2][1], dir = 3, been there returns true visit = 24 @ [2][1], dir = 4, been there returns false 1 20 17 12 3 16 11 2 7 18 21 24 19 4 13 10 15 6 23 8 25 22 9 14 5 solve() invocation 41 starting with visit = 25 1 20 17 12 3 16 11 2 7 18 21 24 19 4 13 10 15 6 23 8 25 22 9 14 5