import sys from collections import deque input = sys.stdin.readline N = int(input()) graph = [[0] * (N+1) for _ in range(N+1)] K = int(input()) for _ in range(K): x, y = map(int, input().split()) graph[x][y] = 1 L = int(input()) direction = [] for _ in range(L): count, dir = input().split() count = int(count) direction.append((count, dir)) dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] dir_idx = 0 snake = [1, 1] count = 0 sx, sy = 1, 1 tail = deque() while True: if len(direction) > 0 and count == direction[0][0]: if direction[0][1] == 'L': dir_idx = (dir_idx + 3) % 4 elif direction[0][1] == 'D': dir_idx = (dir_idx + 1) % 4 direction.pop(0) nx = sx + dx[dir_idx] ny = sy + dy[dir_idx] tail.append((sx, sy)) if graph[sx][sy] == 1: graph[sx][sy] == 0 else: tail.popleft() if nx > N or ny > N or nx < 1 or ny < 1 or (nx, ny) in tail: print(count+1) print(tail) exit(0) sx = nx sy = ny count += 1
58 58 31 50 13 34 54 27 21 40 17 36 28 48 38 27 13 51 53 44 28 57 10 25 26 20 29 31 2 6 53 24 19 45 31 58 30 36 2 33 52 31 22 30 15 56 44 36 26 12 47 18 10 57 4 5 28 52 6 30 48 15 5 38 25 38 29 48 50 40 36 5 35 15 45 9 56 42 18 15 51 9 33 29 26 47 46 28 43 29 16 41 16 30 38 35 49 14 20 7 39 50 21 36 40 25 9 5 6 4 49 23 15 32 41 4 42 2 78 5 D 8 D 10 L 15 L 17 L 18 L 20 L 32 L 64 D 65 L 76 D 81 L 82 D 86 L 87 D 88 L 91 L 94 D 100 D 103 D 107 D 109 L 110 D 111 D 115 D 116 L 117 D 118 D 119 L 120 L 121 D 143 D 192 D 229 D 276 L 287 L 313 L 365 D 366 D 403 L 404 L 439 D 440 D 463 L 464 L 469 D 470 L 482 D 493 D 494 D 498 L 510 L 513 D 514 L 519 L 520 D 529 L 545 L 552 D 558 D 564 D 565 D 568 L 570 L 574 D 576 D 581 D 588 D 597 D 619 D 672 D 678 D 693 D 742 L 743 L 747 D 748 L 751 L
586 deque([(52, 3), (52, 4), (52, 5), (52, 6), (52, 7), (52, 8), (53, 8), (54, 8), (55, 8), (56, 8), (57, 8), (58, 8), (58, 7), (58, 6), (58, 5), (58, 4), (58, 3), (58, 2), (57, 2), (57, 3), (57, 4), (57, 5), (56, 5), (55, 5), (55, 4), (55, 3), (55, 2), (55, 1), (54, 1), (53, 1), (53, 2), (53, 3), (53, 4), (53, 5), (53, 6), (54, 6), (55, 6), (56, 6), (57, 6)])