cmimc

Code for the 2021 CMIMC Programming Contest

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
  101. 101
100 100 1 1
.X.....XX...X......XX..X...X....X...XX...XX....X.......XX......X..X...X...............X....X.X......
.XXXXX..XX......XXX.X......X..X.XX......XX.X.X.X...X..XX.X..........X.....XXXX.X..X.....X..........X
...XX.........X.X.X..XX.XX......XX.XX.X.....X..XXXXX.X.......X....X..X..X.X.XX...X..X.....XX.XX.....
....XX...X.X...X..X..X..XX...X......XX.......X..XX......XX......X..X...X.X..X..X.....X..X....X...X..
......XXX..X..X.X.......XXXX........X.XXX..X......X..X.XX..XXXXXXXX.........XX.XX.XX.....X.X.X..XX..
.X....XX...........X...X..X..XX.XX............X.X.........X..........XXX.X................XXX....X..
X.....X...XX.XX..X...X.X...X..X.XX.X..XX....X.X..X.X..X....XXX........X.X......XX..XX.X.X..X.X....XX
X....X....X...X.....XX.XX..X.X........X...............XX.....XXX....X...XXX....X......X...X...XX.X..
......XXX...X....X......XX..X...X.X....X...XXX.....X..X.X..X..XXXXX..X......XX.....X.XX...XX...XX..X
..X......X.X.....X..X...X..X..X..X..XXXXX..........XXX..X.XXX..XX..X....X..X.X..X.XXX.......X.......
...X........XX...XX.......XX..X.X........X.X..XX..X..XX...X..XX......XX...X..........X..XX..X..XX..X
.......X.....X...X.....X..X..X..X...X....X.X.XX...X......XX..XX....XX......XX..X...X.....X.X...XX...
.....XXX.X..........XX....X......X..X............X.....................X.X.X..X........X.........X.X
..X.X..XXXX............X.X..X......X.X.XXXXX..X.X...........X.....X.X..XXX.XXX..X.X.X.X....X.X.X...X
.X.X...X...X.X........XXX.X..X.XX.....X....X.....XX.......X.X......X.X...X........XX...X............
........X...X...XX....XXX.........X..XX.......X..X....X.......XX..X.....XXXX...X..X..XXX....X.X...X.
.....X.XXXX...............XX...X.XX...XX...XXX.XXX.X..X.X...X.......XXXX.XX.X...X.......XX...X.X..XX
X.....X..X..XX.......X....X.....X.X.XXXXX......XX........XXXX..X..X....X.....X.X.......XX..XX...X...
....XX.......X...X..X.XXXX...X.XX......X.X.XX..X..X...X...XX.XX................XX.XXX..X....X..XX...
XX...XXX.X.X.....X.....XX.......XX.X.X....X...X.XXXX...XX.XX..X.XX......XXX..X.X........X..X........
XX..X.....X..X...X.X......X..X.X..X..X..XX.........X...XX.XX...XX.X......X..........XX...X.X..XXXX..
X.X.X..XXX.....X.X.X.....XXX.X..X...X...X.X.....X...X..X...X.XX...X..XXX.XX....X...X.XX.XXX...XXX..X
......XX..X.....X..X..XXX...XXX..X.XXXXX..............X..XX..XX...X.....X..X...XXXXX..XX....X...X...
....X...X.XX..X.XX...X...XX...XX.XXXX.XX.XXX......XXX...X.....X.......X...XX..XXXX..X.X..X...X....X.
XX.X........X.....X.X......X...X.XX.......XX.X...X.X..X.XX.X....XX..XX..X...X.XX...X.....XXX..X..XX.
.XX.X..........X..X...X.X.......XX.XXX....X...X.....X..X.X.X.X..XXX..X.X...........X.XXX...XX..X.XX.
.....X.....X...X.X......X.XX.XX....XXX..X..............X.X.......X.XX..............XXX...X.X...XXX..
.X.X..................X...X..XXX.X.XXXX..X.....X....XXX.....X...X.....X.X....XXX...X...XXX...X..X.XX
.X.XX.......X...X.XX.......X..............X.X...XX..X.......X..X...X..X.....X...XXX..X..XXX..XX...X.
X.....X..........X....X...XX....X...X...X......X........XX..X.XX.............XX...XXXXX..X..XX...X..
..........X.X..X...X.X..X........XXX.X..XX.XXX..X..X............X....XX.X.....X....X.XX.......XXX...
..X.XXX...XX.X..XXXXX..X......X...X.....X.X...XXX...........X....X...X....XX...X..X..X..X..X.X.X...X
X..X..X...XX.X.XX.X...X.X..XX..X..X.......X..X....X....XX.X..X..X.....XX..X......XXX.X..XXX........X
......X.................XX..X..X.XX..XX..........XXX.X......XXX....XX....X..X.....X...........X.XX..
XXX..XXX...XX..X..X.XX.XX.X..XXX.X....X.....X.....X..X.X...X...X.........X.....XX..XX...XXX...X....X
X....X.X......X.X.X.X.......X...XX.XX.XX.........X.X...X.......XX..XX.X.XXXX...X.XX..X.X..X..X.....X
.........X....X.X.XX..XX.X...X.........X..XXXXX.XX......X......X.X.....X....X....X....XXX...X.......
......X.....X.X.X.........X...X....X.X.....XX.XX.......X......X.....XXX......X...........XX..X.X....
..X.X.X...XX.......XX.X.X.XX..XX.XXX...XX.....X............X....X.X.......XX...........X..XX..XX.XXX
...X....X...X..X.X.XXX...XXX.XXX...X...XX......XX..X.X.X...XXXXXX......X.XXX....XXXXXXX.....X...XXX.
..X.X.X.X.XX....X........XXX.X..X..X...XX..XX.X.X....X.......X.X.XX..X........X.........X.X.X.......
XX..X..X...X...........X.X.....XX.XX....X..XX....X.....XX..X...X.......XX.......X....XXX....XX...XXX
...X.X.....XX...X............XX.X.XX........XXXX......X....X.X......XXX..X.X...........X.X..X.X..X.X
.X....X.X....XXX..X.X.XX...X.....XX...X.X..XX.X...X.XX....X.X....X...XX...X.XX......X.X...X.....X...
....X..X..X.....X.XXXX...X.....X..X.XX......X..X.XX.....X.X.X.X..XX.X...X.X..X..X..X.....X.X..XX.X..
X....XX......X..X..X.......X......X..XX.X...XX...X......X....XX.X.......XX...X.....X.XX....X...X....
..XX...........XXX.....X...........X...X..X..X....X......XX.....X..X.X.X......X.X...X.X......X..X.X.
..X....XXX.......X.......X....................X......X.......XX.......XX....X......X.....X..........
....X..X........X....X..XX......X.............X....X.XX...........X.X............X.XXXX....X.......X
...XX.XXX....X.X..X.X.X..X.......X.......X...X..XXX...X.....XXXX....X..........X...X.X..X.X..X..X.X.
X...X.X...X..X.X.XX....X.......XX...X.....X..X.X..X...X.X.X....X........X..X.XX.......X.............
X....X..X....XXX..X..XXX.....X..X.....X..X....X.X...X...X....X.X.X.X..XXX...XXX..XX....X.XX....X..X.
...X.X.X.....XX...X...X..XX.X....X..X..X..X.XX..X.XXX...X..XX...X...X....XX....X......XX......XX....
......XX.X......X.X.XXX..XX.....XX..X.....X.....X.X...X..X.XX.......XX...X...X.X..XXX...XX.......XX.
.......X...X.X.X.....XX.XX...X.XX...X....X...X...X..X....X.X......X..XXXXX.......X....XXX....X..X.X.
.XX.X.X...X..........X............X.X.X.XXXX........X.....XXXXX.XXX...X..XX..X.....X.X..XXXX.X......
.X.X...XXX....X..X...XX....XX....XX..X.....X...XXXXX..........X.XXXX.............X..X..XXXX.....X.XX
...X......X....XX...X.XXXX.X......X...X..X...X....X.....E....X...XX..X...........X....X...XXX...X.X.
X...X.XX.X......X.X...X.....X.X..XX.........X.......X.....X.....X..X....XXXXX..X.X.X.....X...X.X....
XXXXX...XX..X...X..X....X...X..XX.X.XX..XXX....X.X.X.......X...X..X......X.......X.........X......XX
XXX...X.XXXX.......X...X...X...X..XXX..X.........XX.X...XXXX.......XX....X.X.XX.X.XXX....X..XXXX..X.
X.XX.XX.....X..X.......XX...X.X..X.XXX.X....X..X.X..........XXX....................X..X.............
X..XX...............X...X..XX......XX....X..XXX.X..X.............X..X....X..X..X....X..XX.......X...
.X.................X.X.X.....X....XX.....X..XX........X...XX...X.X.X...XX.......X....XX.X....X.X....
.X..XX..XXX.X.X....X...XXX...X.XX.XX......X.X..XX..X..X..X.X......X...XX.XXX.X...X...X........X.X..X
.XX.X......X.....XX.......X...X..X.X.X.XX..X.................X.XX...........XX.......X....X.....X...
...X.....X...X.....XXX.XX..X........XXX.XX..XX.X.X..X..........X.X.XX....X.X........XXXXX..X...XX.XX
.X...XX.XX..XX.XX.....X..X.XX.X..........X...XXXXX...X.XX.X...X..X......X.X..X.X....X..X..........XX
X..X...X.XX.X.X.X...X.X...X...X.X.XX......X......X...........XX..X.X...X...XX...XXX...X..X..X..XX..X
.X.X......X.......XXX........XXXX.....XXX..X........X...X....XX..........XX....XX..X..X.XXX...X.....
...X..X........X.X.X.XX....XXX.....X...X....XX...X............X..X...X.........X.X...XXX..........X.
.X...........X.........XX...XXX.XX.X.X..X.X..X..XX.XX.........X.....X.XX.....XX...X..........X.X....
.X......XX..X...X.....X..XXX..XX...X..........X.X....X...X......X.X........X.X............X......X..
..X....XXX.......X..X..X....X....X..X...XX.XX...X..X..XX..X...X..X...X.......XX....XXX..X..XX..X....
.......XX....X..XX..........X.........X..X...X...X.X..X.X.....XX.X...XXXXX....XX...X...XX.X.X.X.....
.....X....X..X.X.X.....X...X......XX..XXXXX..X..X...X...XXXX.XX....X..XXX...X.XX.XX...X...X........X
X..X..XXX..X.....X..XXX.........XX..X......XXXX........XXXX..XX.X........X.X........................
.X.X..X.XX.X......XXX..X..X......X........XXXX..X...XX...X.X.X...X.....X.X........X..X..XX.XXXX.....
...XXX...X..X..X.......X....X...X..X..XX.X..X.X.......X.XX.....XXX.XX.X..X..X...X..XX.X.X..XX.......
X...X....X....XX..X..X.X.X....XX..........X.X..X.X....X..XX..................X.X..X....X.......XXX.X
X..XXX..XXXXX...X........X.......XX...X...X.....X...X..X...X.X..X.X..X...X.XX.X.....XX.........X....
XX......XX..............X..X......X..XX..X...XX........XXX....XX.......X...XX........XX..R.X....XX.X
..XXXX.X..X.X.XX.X...X................X..X.X............X.....X..X.X.X.X....X...X.X......X...X...X.X
...X..X...XX.X.X.X.X..X.X.XXX.X.X..X......X....X.X...XX..X.....XX.XX.....X....X.X.X..X..X....XXX....
.............X.XX.......X..X...X...X..X....X.X.X..XX....XX...XXXX...X............X.XX..X...X.......X
XX.XX...XX...X..X....X.XX........X..X.X.XXX.....X...X...X....X.XX....XXX....XXX..X..XXX..XX.XX...X.X
.XXX.....XXX.XX.XXXX....X.......XXX..X......X.....X....XXXX..X.X....X..XX.XXX...X....X.X.....X..X...
.XX..X...X...XX.X..XX.X...XX................X..X............X..X...X......XX..X.X...XX..X....XXX....
.XXX.X...X..X.....X........X.........X.XX............XX.......X..X...X.........X.X.XXX.X....XX....X.
..XX.XX.X........XX...XX..XX.....X...X.....X.....XX...XX....XX.X.XXX......XXXX...............X.XXX..
.XX.X...X.....XXX..XX.X........XX....XXX......XXX...X......X.X.X.X......X.X.......X.......X.X.....XX
........X..XX..X......XX..X.......X....X.X........XX.X...XXX.X..X........X........X....X.XXX..X....X
....XX..XX..XX....X.X......X.....X.X.X.X.......X.....X.XX.XX....XX....X.......X...XX..X.X..........X
XX.XX....XX.XX...X.X.XX....X...XXX.....X........X.XX..X....X...X...XXX....X.....X.......XX......X.XX
.......XXX....X.X..X.X....X..X....X.X..X....X....X.XX.X....XXX......X...X.X...X.......XXX......X.X..
.........X.....XX.XX.X...X..XX..X......X.X.....XX....X..XX....X.XXX.....X..XX.....X...X...XX.XX....X
.X...X....XX...X.....XX..X.X....XXX....X..XX.X....XX.X...X..X..X.XXX.........X...XX...X.X..X...X..X.
X...X..X.X...XX..XX..X.....XX.X....X....X..X...XX..X...X...X.XX......X.....X..XX...X...X.XX....XX...
X..X...XX..........X.X..X..X.......X........X...X...X....X...........XX.X.XX..X..X..XX.X.........XX.
X...XXX....XXXX.....XX...X.X.XX...X.....X....X.X....X..X........X....XXXX.XXX.X..XXXX..XX.X...X.....