adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
1e28e9c240de162240811350f7f86602b440b888
parent
217fd9e01f41d09d6dcae22449fa3d8980aba7d3
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2022-12-02 07:40
2022-12-02

Diffstat

A 2022/02/input.txt 2500 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/02/part1.rs 33 +++++++++++++++++++++++++++++++++
A 2022/02/part2.rs 33 +++++++++++++++++++++++++++++++++
A 2022/02/test.txt 3 +++

4 files changed, 2569 insertions, 0 deletions


diff --git a/2022/02/input.txt b/2022/02/input.txt

@@ -0,0 +1,2500 @@
   -1     1 B Z
   -1     2 A Y
   -1     3 A Y
   -1     4 B X
   -1     5 A Y
   -1     6 B X
   -1     7 A X
   -1     8 B X
   -1     9 B X
   -1    10 B X
   -1    11 C Y
   -1    12 C Y
   -1    13 A X
   -1    14 A Y
   -1    15 A Y
   -1    16 B X
   -1    17 A X
   -1    18 C Y
   -1    19 B Z
   -1    20 A X
   -1    21 B Z
   -1    22 C Y
   -1    23 C Z
   -1    24 A X
   -1    25 C Z
   -1    26 A Y
   -1    27 A X
   -1    28 B Z
   -1    29 B X
   -1    30 A Z
   -1    31 B Z
   -1    32 A X
   -1    33 A Z
   -1    34 B X
   -1    35 B X
   -1    36 C Y
   -1    37 B X
   -1    38 A X
   -1    39 A Y
   -1    40 C Y
   -1    41 B Z
   -1    42 C X
   -1    43 A X
   -1    44 B Z
   -1    45 B Y
   -1    46 B X
   -1    47 A Z
   -1    48 B Z
   -1    49 B Z
   -1    50 A X
   -1    51 B Z
   -1    52 B X
   -1    53 C X
   -1    54 A X
   -1    55 B X
   -1    56 B X
   -1    57 B Z
   -1    58 B X
   -1    59 B Z
   -1    60 A Y
   -1    61 B Z
   -1    62 B X
   -1    63 C Y
   -1    64 A Y
   -1    65 C Y
   -1    66 B Z
   -1    67 A Y
   -1    68 B X
   -1    69 A Y
   -1    70 C Y
   -1    71 A Y
   -1    72 B Z
   -1    73 B Z
   -1    74 C Z
   -1    75 B X
   -1    76 A X
   -1    77 C X
   -1    78 B Y
   -1    79 A Z
   -1    80 C Z
   -1    81 B Z
   -1    82 A Y
   -1    83 A X
   -1    84 B Z
   -1    85 C Z
   -1    86 B X
   -1    87 B Z
   -1    88 A Y
   -1    89 B X
   -1    90 A Y
   -1    91 A Y
   -1    92 A X
   -1    93 C Y
   -1    94 B X
   -1    95 B Z
   -1    96 C Y
   -1    97 B X
   -1    98 B X
   -1    99 C Z
   -1   100 C Y
   -1   101 C Y
   -1   102 A X
   -1   103 B Z
   -1   104 A X
   -1   105 A X
   -1   106 B Y
   -1   107 A Y
   -1   108 B Z
   -1   109 B Z
   -1   110 B Z
   -1   111 A Y
   -1   112 A X
   -1   113 A Y
   -1   114 B X
   -1   115 B Z
   -1   116 A X
   -1   117 B X
   -1   118 B X
   -1   119 C Y
   -1   120 B Z
   -1   121 A X
   -1   122 A Y
   -1   123 B Z
   -1   124 A X
   -1   125 B Z
   -1   126 A Z
   -1   127 A Y
   -1   128 A Z
   -1   129 B Z
   -1   130 A X
   -1   131 A Z
   -1   132 A X
   -1   133 C Y
   -1   134 A Y
   -1   135 A X
   -1   136 B Z
   -1   137 C Z
   -1   138 B Y
   -1   139 B Z
   -1   140 B X
   -1   141 A X
   -1   142 C Y
   -1   143 B Z
   -1   144 B Y
   -1   145 B X
   -1   146 B X
   -1   147 A X
   -1   148 C Y
   -1   149 A Y
   -1   150 B X
   -1   151 A Y
   -1   152 A Y
   -1   153 A Y
   -1   154 B X
   -1   155 A Z
   -1   156 A Y
   -1   157 B X
   -1   158 A X
   -1   159 A Z
   -1   160 B X
   -1   161 B X
   -1   162 C Z
   -1   163 C Y
   -1   164 B X
   -1   165 B X
   -1   166 A Y
   -1   167 C Y
   -1   168 C Y
   -1   169 A X
   -1   170 B Z
   -1   171 B Z
   -1   172 A Y
   -1   173 C Y
   -1   174 B Z
   -1   175 A Y
   -1   176 A Y
   -1   177 A X
   -1   178 B Z
   -1   179 B X
   -1   180 A X
   -1   181 A X
   -1   182 B X
   -1   183 A X
   -1   184 B X
   -1   185 A X
   -1   186 B X
   -1   187 A X
   -1   188 B Y
   -1   189 B Z
   -1   190 A X
   -1   191 B X
   -1   192 B X
   -1   193 B Z
   -1   194 A X
   -1   195 B Z
   -1   196 A Y
   -1   197 B Z
   -1   198 A X
   -1   199 A Z
   -1   200 B X
   -1   201 A X
   -1   202 A Y
   -1   203 C Y
   -1   204 C Y
   -1   205 B Z
   -1   206 A X
   -1   207 C Y
   -1   208 A X
   -1   209 B X
   -1   210 A Y
   -1   211 A X
   -1   212 B X
   -1   213 B X
   -1   214 A Y
   -1   215 A X
   -1   216 A X
   -1   217 A Z
   -1   218 C Y
   -1   219 A X
   -1   220 B X
   -1   221 A X
   -1   222 A X
   -1   223 A X
   -1   224 A Y
   -1   225 A Y
   -1   226 C Z
   -1   227 C Z
   -1   228 A Y
   -1   229 B Z
   -1   230 A X
   -1   231 B X
   -1   232 C Y
   -1   233 B Z
   -1   234 B Z
   -1   235 C Y
   -1   236 C Y
   -1   237 A Y
   -1   238 A Y
   -1   239 A Y
   -1   240 A Y
   -1   241 C Z
   -1   242 A Y
   -1   243 B Z
   -1   244 B Z
   -1   245 C Z
   -1   246 C Y
   -1   247 C Y
   -1   248 C Y
   -1   249 C Y
   -1   250 C X
   -1   251 A X
   -1   252 B Z
   -1   253 B Z
   -1   254 B Z
   -1   255 B Z
   -1   256 C Y
   -1   257 B Z
   -1   258 A X
   -1   259 A X
   -1   260 A X
   -1   261 B Z
   -1   262 A Y
   -1   263 C X
   -1   264 B Z
   -1   265 A X
   -1   266 A Y
   -1   267 B Z
   -1   268 C Z
   -1   269 B X
   -1   270 A X
   -1   271 B Z
   -1   272 A X
   -1   273 A Y
   -1   274 B X
   -1   275 C Y
   -1   276 B X
   -1   277 B Z
   -1   278 A X
   -1   279 B X
   -1   280 B X
   -1   281 A X
   -1   282 B X
   -1   283 B Z
   -1   284 B X
   -1   285 A X
   -1   286 B X
   -1   287 B X
   -1   288 B X
   -1   289 B Z
   -1   290 B X
   -1   291 B Z
   -1   292 C Y
   -1   293 A X
   -1   294 A X
   -1   295 C Y
   -1   296 C Z
   -1   297 A Y
   -1   298 B Z
   -1   299 B Z
   -1   300 A X
   -1   301 B Z
   -1   302 A Y
   -1   303 A X
   -1   304 A Y
   -1   305 A Y
   -1   306 A Y
   -1   307 B Z
   -1   308 C Y
   -1   309 A X
   -1   310 A Y
   -1   311 A Z
   -1   312 B X
   -1   313 A Z
   -1   314 B X
   -1   315 B X
   -1   316 B X
   -1   317 A X
   -1   318 A X
   -1   319 C Y
   -1   320 B X
   -1   321 A X
   -1   322 B Z
   -1   323 A Y
   -1   324 A Y
   -1   325 A X
   -1   326 B Z
   -1   327 A Y
   -1   328 B X
   -1   329 A Y
   -1   330 B Z
   -1   331 C Y
   -1   332 A Y
   -1   333 C X
   -1   334 B X
   -1   335 B Z
   -1   336 C Y
   -1   337 A Y
   -1   338 A X
   -1   339 A X
   -1   340 B Y
   -1   341 C Z
   -1   342 B Z
   -1   343 A Y
   -1   344 A X
   -1   345 A Y
   -1   346 A X
   -1   347 A Y
   -1   348 A Y
   -1   349 A X
   -1   350 A Y
   -1   351 A Z
   -1   352 B X
   -1   353 A X
   -1   354 C Y
   -1   355 A X
   -1   356 C X
   -1   357 A Y
   -1   358 A X
   -1   359 A Y
   -1   360 A X
   -1   361 A X
   -1   362 B X
   -1   363 A X
   -1   364 B Z
   -1   365 A X
   -1   366 C Z
   -1   367 B Z
   -1   368 B Z
   -1   369 A Y
   -1   370 B X
   -1   371 B X
   -1   372 A Y
   -1   373 B X
   -1   374 B X
   -1   375 C Y
   -1   376 A Y
   -1   377 C X
   -1   378 C Y
   -1   379 B Z
   -1   380 A Y
   -1   381 A X
   -1   382 C Z
   -1   383 A X
   -1   384 B X
   -1   385 B X
   -1   386 C X
   -1   387 A Y
   -1   388 B Z
   -1   389 A X
   -1   390 A Z
   -1   391 C Y
   -1   392 B Z
   -1   393 C Y
   -1   394 C X
   -1   395 A Y
   -1   396 B Z
   -1   397 B Z
   -1   398 A Y
   -1   399 B Z
   -1   400 B X
   -1   401 B X
   -1   402 B Z
   -1   403 B Z
   -1   404 B X
   -1   405 C Y
   -1   406 A Y
   -1   407 A X
   -1   408 A Y
   -1   409 B Z
   -1   410 A X
   -1   411 A Y
   -1   412 A Y
   -1   413 A X
   -1   414 B X
   -1   415 A Z
   -1   416 A X
   -1   417 B Z
   -1   418 B Z
   -1   419 A X
   -1   420 C Y
   -1   421 C Y
   -1   422 A Y
   -1   423 A X
   -1   424 A Y
   -1   425 B Z
   -1   426 B Z
   -1   427 B X
   -1   428 B Z
   -1   429 A Y
   -1   430 A X
   -1   431 A Y
   -1   432 A Y
   -1   433 A Z
   -1   434 C Y
   -1   435 C Z
   -1   436 A X
   -1   437 C Y
   -1   438 A Y
   -1   439 A X
   -1   440 A Y
   -1   441 A X
   -1   442 C Z
   -1   443 B Z
   -1   444 B X
   -1   445 B X
   -1   446 B X
   -1   447 A X
   -1   448 A Z
   -1   449 B Z
   -1   450 B X
   -1   451 B X
   -1   452 B X
   -1   453 B X
   -1   454 B X
   -1   455 B X
   -1   456 C Y
   -1   457 B X
   -1   458 B Z
   -1   459 A X
   -1   460 C Z
   -1   461 A X
   -1   462 C X
   -1   463 B Z
   -1   464 A X
   -1   465 A Y
   -1   466 A Z
   -1   467 C Y
   -1   468 B X
   -1   469 C Z
   -1   470 C Y
   -1   471 A Z
   -1   472 B Z
   -1   473 C X
   -1   474 A Y
   -1   475 A Z
   -1   476 B Z
   -1   477 B Z
   -1   478 B Z
   -1   479 A X
   -1   480 A X
   -1   481 B X
   -1   482 A X
   -1   483 B Y
   -1   484 A X
   -1   485 A Y
   -1   486 A Y
   -1   487 B X
   -1   488 A Y
   -1   489 B X
   -1   490 C Z
   -1   491 A Y
   -1   492 C Y
   -1   493 A X
   -1   494 A X
   -1   495 A Y
   -1   496 B X
   -1   497 B Z
   -1   498 A X
   -1   499 B X
   -1   500 B Z
   -1   501 A Z
   -1   502 C Z
   -1   503 B Z
   -1   504 B X
   -1   505 A X
   -1   506 A X
   -1   507 B X
   -1   508 A X
   -1   509 A Y
   -1   510 A Y
   -1   511 B Z
   -1   512 A X
   -1   513 A X
   -1   514 A X
   -1   515 A X
   -1   516 C Y
   -1   517 C Z
   -1   518 A X
   -1   519 A Z
   -1   520 A X
   -1   521 B X
   -1   522 A X
   -1   523 B X
   -1   524 B Z
   -1   525 B X
   -1   526 C Y
   -1   527 B Z
   -1   528 A X
   -1   529 B Z
   -1   530 A Z
   -1   531 A Y
   -1   532 A Y
   -1   533 A X
   -1   534 A X
   -1   535 B Z
   -1   536 A Y
   -1   537 A X
   -1   538 A X
   -1   539 B X
   -1   540 B Z
   -1   541 A Z
   -1   542 A Y
   -1   543 A Z
   -1   544 B X
   -1   545 B Z
   -1   546 A Y
   -1   547 A Z
   -1   548 B X
   -1   549 B Z
   -1   550 A Z
   -1   551 A Y
   -1   552 A Y
   -1   553 A X
   -1   554 A Y
   -1   555 B Z
   -1   556 A Y
   -1   557 A X
   -1   558 A X
   -1   559 A Y
   -1   560 A Y
   -1   561 A X
   -1   562 A Y
   -1   563 A X
   -1   564 C Y
   -1   565 B Z
   -1   566 B X
   -1   567 B X
   -1   568 B X
   -1   569 A X
   -1   570 B Z
   -1   571 B Z
   -1   572 A X
   -1   573 B Z
   -1   574 A Y
   -1   575 C Y
   -1   576 C Y
   -1   577 A Y
   -1   578 B Z
   -1   579 B X
   -1   580 C Y
   -1   581 A X
   -1   582 A Z
   -1   583 B X
   -1   584 B X
   -1   585 C Y
   -1   586 A X
   -1   587 B X
   -1   588 B Z
   -1   589 A Y
   -1   590 A X
   -1   591 B Z
   -1   592 A Y
   -1   593 A Y
   -1   594 C Z
   -1   595 B Z
   -1   596 B Z
   -1   597 A X
   -1   598 C Y
   -1   599 A Y
   -1   600 A Z
   -1   601 A Y
   -1   602 C Z
   -1   603 B Z
   -1   604 A Y
   -1   605 C Z
   -1   606 B X
   -1   607 A X
   -1   608 B X
   -1   609 B X
   -1   610 C Y
   -1   611 A Y
   -1   612 B Y
   -1   613 A Y
   -1   614 B X
   -1   615 A Y
   -1   616 A Y
   -1   617 B X
   -1   618 B Z
   -1   619 B X
   -1   620 A Y
   -1   621 A Y
   -1   622 C Y
   -1   623 C Y
   -1   624 A Y
   -1   625 C Y
   -1   626 A Z
   -1   627 B Z
   -1   628 A X
   -1   629 A Z
   -1   630 A X
   -1   631 C Y
   -1   632 A X
   -1   633 A X
   -1   634 B Z
   -1   635 B Z
   -1   636 C X
   -1   637 C Z
   -1   638 A X
   -1   639 C Y
   -1   640 B Z
   -1   641 B X
   -1   642 A Y
   -1   643 A X
   -1   644 A X
   -1   645 B Z
   -1   646 A X
   -1   647 A Y
   -1   648 A Y
   -1   649 A X
   -1   650 B Z
   -1   651 C Y
   -1   652 A Y
   -1   653 B Z
   -1   654 A Y
   -1   655 B X
   -1   656 A X
   -1   657 A X
   -1   658 A Y
   -1   659 A X
   -1   660 B Z
   -1   661 C Y
   -1   662 A X
   -1   663 A Z
   -1   664 B Z
   -1   665 B Z
   -1   666 A X
   -1   667 C Y
   -1   668 A X
   -1   669 B X
   -1   670 A X
   -1   671 A X
   -1   672 B X
   -1   673 A X
   -1   674 B X
   -1   675 B Z
   -1   676 C X
   -1   677 A X
   -1   678 C Y
   -1   679 C Y
   -1   680 B Z
   -1   681 B X
   -1   682 C Y
   -1   683 C X
   -1   684 A Y
   -1   685 B X
   -1   686 A Y
   -1   687 B Z
   -1   688 C Z
   -1   689 B Z
   -1   690 A Y
   -1   691 A X
   -1   692 B X
   -1   693 A Y
   -1   694 A Y
   -1   695 B Z
   -1   696 B X
   -1   697 A Y
   -1   698 B X
   -1   699 A X
   -1   700 A Y
   -1   701 B Z
   -1   702 B X
   -1   703 A Z
   -1   704 A Y
   -1   705 A X
   -1   706 A Y
   -1   707 B Z
   -1   708 B Z
   -1   709 A X
   -1   710 A X
   -1   711 B Z
   -1   712 A X
   -1   713 B Z
   -1   714 A X
   -1   715 B X
   -1   716 B X
   -1   717 A X
   -1   718 A Y
   -1   719 B X
   -1   720 A Y
   -1   721 A X
   -1   722 B X
   -1   723 B X
   -1   724 B Z
   -1   725 B X
   -1   726 C X
   -1   727 B Z
   -1   728 A Y
   -1   729 B Z
   -1   730 A Y
   -1   731 A X
   -1   732 B Z
   -1   733 B X
   -1   734 B X
   -1   735 C Y
   -1   736 B X
   -1   737 B X
   -1   738 A X
   -1   739 A Y
   -1   740 A X
   -1   741 B X
   -1   742 C Y
   -1   743 C Z
   -1   744 A X
   -1   745 B X
   -1   746 B X
   -1   747 A Y
   -1   748 B Z
   -1   749 B X
   -1   750 A X
   -1   751 B X
   -1   752 C X
   -1   753 A Y
   -1   754 A Y
   -1   755 A Y
   -1   756 A Y
   -1   757 C Y
   -1   758 A Y
   -1   759 A Y
   -1   760 A X
   -1   761 A Y
   -1   762 B X
   -1   763 A Z
   -1   764 A X
   -1   765 B Z
   -1   766 B X
   -1   767 A X
   -1   768 B Z
   -1   769 A X
   -1   770 B Y
   -1   771 A X
   -1   772 A X
   -1   773 A Y
   -1   774 B X
   -1   775 B Z
   -1   776 C X
   -1   777 A X
   -1   778 A X
   -1   779 A Y
   -1   780 B Z
   -1   781 C Z
   -1   782 A X
   -1   783 C X
   -1   784 B Z
   -1   785 B X
   -1   786 B X
   -1   787 B Z
   -1   788 B Z
   -1   789 A X
   -1   790 C Z
   -1   791 A Y
   -1   792 A Y
   -1   793 B Y
   -1   794 B X
   -1   795 B Y
   -1   796 A X
   -1   797 B Z
   -1   798 B Z
   -1   799 A X
   -1   800 B X
   -1   801 A X
   -1   802 B Z
   -1   803 A Y
   -1   804 A Y
   -1   805 B Y
   -1   806 A Y
   -1   807 A Y
   -1   808 A X
   -1   809 B X
   -1   810 A X
   -1   811 B Z
   -1   812 B X
   -1   813 B Z
   -1   814 C Y
   -1   815 A X
   -1   816 B Z
   -1   817 A Z
   -1   818 A X
   -1   819 A X
   -1   820 B X
   -1   821 B X
   -1   822 A Z
   -1   823 B X
   -1   824 A X
   -1   825 A Z
   -1   826 A X
   -1   827 A Z
   -1   828 A Y
   -1   829 A X
   -1   830 A Z
   -1   831 C X
   -1   832 A X
   -1   833 C Y
   -1   834 B X
   -1   835 A X
   -1   836 B X
   -1   837 B X
   -1   838 B X
   -1   839 B X
   -1   840 A X
   -1   841 B Z
   -1   842 B X
   -1   843 A Y
   -1   844 B X
   -1   845 A Y
   -1   846 B X
   -1   847 B X
   -1   848 A Y
   -1   849 B X
   -1   850 A X
   -1   851 A X
   -1   852 A Y
   -1   853 B Z
   -1   854 A Z
   -1   855 B Z
   -1   856 C Y
   -1   857 B Y
   -1   858 A Y
   -1   859 A X
   -1   860 A Y
   -1   861 B Z
   -1   862 A X
   -1   863 B Z
   -1   864 B X
   -1   865 A X
   -1   866 B X
   -1   867 B X
   -1   868 A X
   -1   869 A Y
   -1   870 B Z
   -1   871 C Y
   -1   872 A Y
   -1   873 B Z
   -1   874 C Y
   -1   875 A X
   -1   876 C Y
   -1   877 A Y
   -1   878 A Y
   -1   879 A X
   -1   880 C Y
   -1   881 A Y
   -1   882 B Z
   -1   883 B Z
   -1   884 A Y
   -1   885 B Z
   -1   886 B Z
   -1   887 C Y
   -1   888 A X
   -1   889 A Y
   -1   890 A Y
   -1   891 C Z
   -1   892 A X
   -1   893 A Y
   -1   894 A Y
   -1   895 A X
   -1   896 A Y
   -1   897 B X
   -1   898 A Y
   -1   899 A X
   -1   900 A Y
   -1   901 B X
   -1   902 B X
   -1   903 A Y
   -1   904 A Y
   -1   905 A Y
   -1   906 C Y
   -1   907 A X
   -1   908 A X
   -1   909 B X
   -1   910 A X
   -1   911 B Z
   -1   912 C Y
   -1   913 B Z
   -1   914 C Y
   -1   915 A X
   -1   916 C Z
   -1   917 C Y
   -1   918 B Z
   -1   919 B Z
   -1   920 A Y
   -1   921 B X
   -1   922 B Z
   -1   923 C Y
   -1   924 A X
   -1   925 A X
   -1   926 A X
   -1   927 B Z
   -1   928 A X
   -1   929 A Y
   -1   930 B Z
   -1   931 C X
   -1   932 C Y
   -1   933 A Z
   -1   934 A X
   -1   935 C Y
   -1   936 A X
   -1   937 A X
   -1   938 B X
   -1   939 C Y
   -1   940 A Z
   -1   941 B Z
   -1   942 C Y
   -1   943 B X
   -1   944 A X
   -1   945 A X
   -1   946 C Y
   -1   947 A X
   -1   948 A X
   -1   949 B Z
   -1   950 B X
   -1   951 A X
   -1   952 A Y
   -1   953 B X
   -1   954 A X
   -1   955 A X
   -1   956 B X
   -1   957 C Y
   -1   958 A Y
   -1   959 C Z
   -1   960 A Y
   -1   961 B Z
   -1   962 A X
   -1   963 B X
   -1   964 B X
   -1   965 A X
   -1   966 B X
   -1   967 B Y
   -1   968 A X
   -1   969 C Y
   -1   970 A Y
   -1   971 A Y
   -1   972 B X
   -1   973 A Y
   -1   974 B X
   -1   975 B Z
   -1   976 A Y
   -1   977 C Y
   -1   978 C Y
   -1   979 A Z
   -1   980 B Z
   -1   981 C Z
   -1   982 B Z
   -1   983 A Z
   -1   984 A Y
   -1   985 B Z
   -1   986 A X
   -1   987 B Z
   -1   988 A Z
   -1   989 A Z
   -1   990 B Z
   -1   991 B X
   -1   992 A X
   -1   993 A X
   -1   994 A X
   -1   995 B X
   -1   996 A X
   -1   997 A Y
   -1   998 C Y
   -1   999 B Z
   -1  1000 B X
   -1  1001 A X
   -1  1002 B Z
   -1  1003 B X
   -1  1004 B Z
   -1  1005 A X
   -1  1006 B X
   -1  1007 B X
   -1  1008 B X
   -1  1009 A X
   -1  1010 B Z
   -1  1011 A X
   -1  1012 B X
   -1  1013 A X
   -1  1014 C Y
   -1  1015 A X
   -1  1016 A Y
   -1  1017 A Z
   -1  1018 C Y
   -1  1019 A Y
   -1  1020 A X
   -1  1021 C Y
   -1  1022 B Z
   -1  1023 A X
   -1  1024 B Z
   -1  1025 A X
   -1  1026 B Z
   -1  1027 B Z
   -1  1028 B Z
   -1  1029 C Z
   -1  1030 A Z
   -1  1031 B X
   -1  1032 A X
   -1  1033 A Y
   -1  1034 A Y
   -1  1035 A Y
   -1  1036 B X
   -1  1037 C X
   -1  1038 A Y
   -1  1039 A X
   -1  1040 A X
   -1  1041 C Y
   -1  1042 A Y
   -1  1043 A Y
   -1  1044 B X
   -1  1045 C Y
   -1  1046 A Z
   -1  1047 A Z
   -1  1048 A Y
   -1  1049 C Y
   -1  1050 B Z
   -1  1051 A Z
   -1  1052 C Y
   -1  1053 A X
   -1  1054 B X
   -1  1055 B X
   -1  1056 B X
   -1  1057 A X
   -1  1058 C Z
   -1  1059 C Y
   -1  1060 B Z
   -1  1061 B Z
   -1  1062 A X
   -1  1063 A Y
   -1  1064 A Y
   -1  1065 A Y
   -1  1066 C X
   -1  1067 A Z
   -1  1068 A X
   -1  1069 B X
   -1  1070 B Z
   -1  1071 B Z
   -1  1072 A Z
   -1  1073 A X
   -1  1074 B Z
   -1  1075 A Y
   -1  1076 B Z
   -1  1077 C X
   -1  1078 A X
   -1  1079 B Z
   -1  1080 A Y
   -1  1081 A Y
   -1  1082 A X
   -1  1083 B Z
   -1  1084 B X
   -1  1085 A Y
   -1  1086 A Y
   -1  1087 A Y
   -1  1088 A Y
   -1  1089 A Z
   -1  1090 A X
   -1  1091 C Y
   -1  1092 A Y
   -1  1093 A Y
   -1  1094 C Y
   -1  1095 C Y
   -1  1096 B X
   -1  1097 C Y
   -1  1098 A X
   -1  1099 A Z
   -1  1100 B Z
   -1  1101 C Y
   -1  1102 A Z
   -1  1103 A X
   -1  1104 A Z
   -1  1105 A Y
   -1  1106 C Y
   -1  1107 B Z
   -1  1108 A Y
   -1  1109 B X
   -1  1110 B X
   -1  1111 A X
   -1  1112 B X
   -1  1113 A Z
   -1  1114 B Z
   -1  1115 A X
   -1  1116 A X
   -1  1117 C Y
   -1  1118 A Y
   -1  1119 C Y
   -1  1120 C Y
   -1  1121 B X
   -1  1122 A X
   -1  1123 C X
   -1  1124 B X
   -1  1125 B Z
   -1  1126 A Y
   -1  1127 B Z
   -1  1128 A X
   -1  1129 A Y
   -1  1130 B Z
   -1  1131 B Z
   -1  1132 A Y
   -1  1133 A Y
   -1  1134 A X
   -1  1135 A Y
   -1  1136 B Z
   -1  1137 A Y
   -1  1138 B Z
   -1  1139 C Y
   -1  1140 C Y
   -1  1141 B X
   -1  1142 A Z
   -1  1143 A Y
   -1  1144 C Y
   -1  1145 B X
   -1  1146 B Z
   -1  1147 B X
   -1  1148 C Y
   -1  1149 B Z
   -1  1150 A Y
   -1  1151 A Y
   -1  1152 B Z
   -1  1153 A X
   -1  1154 A Z
   -1  1155 B X
   -1  1156 A X
   -1  1157 C Z
   -1  1158 B X
   -1  1159 B X
   -1  1160 B X
   -1  1161 C X
   -1  1162 C Y
   -1  1163 B X
   -1  1164 A Y
   -1  1165 B Z
   -1  1166 B X
   -1  1167 B Z
   -1  1168 C Y
   -1  1169 A X
   -1  1170 A Y
   -1  1171 A X
   -1  1172 B X
   -1  1173 B Z
   -1  1174 B Z
   -1  1175 A X
   -1  1176 B X
   -1  1177 C Y
   -1  1178 C X
   -1  1179 B Z
   -1  1180 A X
   -1  1181 A Y
   -1  1182 B Z
   -1  1183 B Y
   -1  1184 C Y
   -1  1185 C Y
   -1  1186 A Y
   -1  1187 B Z
   -1  1188 B X
   -1  1189 A Y
   -1  1190 B Z
   -1  1191 A X
   -1  1192 A X
   -1  1193 A Y
   -1  1194 B Z
   -1  1195 A Y
   -1  1196 A X
   -1  1197 B Z
   -1  1198 A X
   -1  1199 C Y
   -1  1200 A Y
   -1  1201 C Z
   -1  1202 B Z
   -1  1203 C Y
   -1  1204 B Z
   -1  1205 A Y
   -1  1206 C Y
   -1  1207 A X
   -1  1208 A Y
   -1  1209 B X
   -1  1210 B Z
   -1  1211 B X
   -1  1212 B Z
   -1  1213 A Y
   -1  1214 B X
   -1  1215 A Y
   -1  1216 B Z
   -1  1217 A Y
   -1  1218 C Y
   -1  1219 A X
   -1  1220 A X
   -1  1221 B Y
   -1  1222 B X
   -1  1223 A Y
   -1  1224 C X
   -1  1225 B Z
   -1  1226 B Z
   -1  1227 A Y
   -1  1228 C Z
   -1  1229 B X
   -1  1230 A X
   -1  1231 A Y
   -1  1232 B Z
   -1  1233 C Y
   -1  1234 C Y
   -1  1235 A Y
   -1  1236 A Y
   -1  1237 B X
   -1  1238 C Y
   -1  1239 A Y
   -1  1240 B X
   -1  1241 A X
   -1  1242 B X
   -1  1243 B Z
   -1  1244 A X
   -1  1245 A Y
   -1  1246 B X
   -1  1247 B X
   -1  1248 C Y
   -1  1249 B Z
   -1  1250 A X
   -1  1251 A X
   -1  1252 B X
   -1  1253 C Y
   -1  1254 B X
   -1  1255 A X
   -1  1256 A X
   -1  1257 B X
   -1  1258 C Z
   -1  1259 C Y
   -1  1260 B X
   -1  1261 B Z
   -1  1262 A X
   -1  1263 A Y
   -1  1264 C Y
   -1  1265 A Y
   -1  1266 A Y
   -1  1267 A Y
   -1  1268 B X
   -1  1269 C Y
   -1  1270 B X
   -1  1271 A X
   -1  1272 A Y
   -1  1273 A X
   -1  1274 B Z
   -1  1275 A Z
   -1  1276 B X
   -1  1277 A Y
   -1  1278 B X
   -1  1279 A Y
   -1  1280 B X
   -1  1281 B Z
   -1  1282 A X
   -1  1283 A X
   -1  1284 B Z
   -1  1285 A X
   -1  1286 A Y
   -1  1287 B X
   -1  1288 B Z
   -1  1289 B Z
   -1  1290 A X
   -1  1291 A Y
   -1  1292 A Y
   -1  1293 A X
   -1  1294 A X
   -1  1295 B X
   -1  1296 B Z
   -1  1297 B Y
   -1  1298 A X
   -1  1299 C Y
   -1  1300 A Y
   -1  1301 C Y
   -1  1302 A Y
   -1  1303 C X
   -1  1304 B X
   -1  1305 B X
   -1  1306 A X
   -1  1307 B Z
   -1  1308 A X
   -1  1309 C Y
   -1  1310 B X
   -1  1311 C Y
   -1  1312 A Z
   -1  1313 A X
   -1  1314 B Y
   -1  1315 A X
   -1  1316 B X
   -1  1317 B Z
   -1  1318 A Z
   -1  1319 C Y
   -1  1320 A Y
   -1  1321 A Z
   -1  1322 A Y
   -1  1323 A X
   -1  1324 A Y
   -1  1325 A X
   -1  1326 A X
   -1  1327 A X
   -1  1328 B Z
   -1  1329 B Z
   -1  1330 C X
   -1  1331 A X
   -1  1332 C Z
   -1  1333 B X
   -1  1334 C X
   -1  1335 B Z
   -1  1336 B Z
   -1  1337 A Z
   -1  1338 B X
   -1  1339 A Y
   -1  1340 B Z
   -1  1341 C Y
   -1  1342 A X
   -1  1343 C Y
   -1  1344 C Y
   -1  1345 B Z
   -1  1346 A Y
   -1  1347 A Z
   -1  1348 A X
   -1  1349 B Z
   -1  1350 B X
   -1  1351 C Z
   -1  1352 C Y
   -1  1353 A Y
   -1  1354 C Z
   -1  1355 B X
   -1  1356 B Z
   -1  1357 C Y
   -1  1358 A X
   -1  1359 B X
   -1  1360 C Z
   -1  1361 B Z
   -1  1362 C Y
   -1  1363 B X
   -1  1364 A Y
   -1  1365 B Z
   -1  1366 C X
   -1  1367 A Z
   -1  1368 A X
   -1  1369 A Y
   -1  1370 B Z
   -1  1371 B X
   -1  1372 B X
   -1  1373 B X
   -1  1374 B Z
   -1  1375 A Z
   -1  1376 A X
   -1  1377 B Z
   -1  1378 B X
   -1  1379 A X
   -1  1380 A Y
   -1  1381 B X
   -1  1382 B X
   -1  1383 A X
   -1  1384 A X
   -1  1385 B X
   -1  1386 B X
   -1  1387 C Y
   -1  1388 A Y
   -1  1389 C Z
   -1  1390 A Y
   -1  1391 A Y
   -1  1392 A X
   -1  1393 B X
   -1  1394 B Z
   -1  1395 A X
   -1  1396 B X
   -1  1397 A X
   -1  1398 B X
   -1  1399 A Y
   -1  1400 C Y
   -1  1401 A Y
   -1  1402 A X
   -1  1403 A Y
   -1  1404 A Y
   -1  1405 C Y
   -1  1406 B Z
   -1  1407 B Z
   -1  1408 A X
   -1  1409 A Y
   -1  1410 C Y
   -1  1411 C Y
   -1  1412 A Y
   -1  1413 A X
   -1  1414 A X
   -1  1415 C Y
   -1  1416 B X
   -1  1417 A Y
   -1  1418 B Z
   -1  1419 C Y
   -1  1420 B Z
   -1  1421 A X
   -1  1422 A Y
   -1  1423 A X
   -1  1424 B Z
   -1  1425 B X
   -1  1426 C Y
   -1  1427 A Z
   -1  1428 C X
   -1  1429 A Y
   -1  1430 A X
   -1  1431 C X
   -1  1432 B X
   -1  1433 A Y
   -1  1434 A X
   -1  1435 B Z
   -1  1436 B Z
   -1  1437 C Y
   -1  1438 A X
   -1  1439 A Y
   -1  1440 A Y
   -1  1441 B X
   -1  1442 A Y
   -1  1443 A X
   -1  1444 C Y
   -1  1445 B X
   -1  1446 C Y
   -1  1447 A Y
   -1  1448 A Y
   -1  1449 A Y
   -1  1450 A X
   -1  1451 A X
   -1  1452 C Z
   -1  1453 B X
   -1  1454 C Y
   -1  1455 B Z
   -1  1456 A X
   -1  1457 A Y
   -1  1458 B Z
   -1  1459 C X
   -1  1460 B Z
   -1  1461 A X
   -1  1462 C Y
   -1  1463 C Y
   -1  1464 B Z
   -1  1465 B Z
   -1  1466 A X
   -1  1467 C Y
   -1  1468 C Y
   -1  1469 A Y
   -1  1470 C Y
   -1  1471 B X
   -1  1472 B Z
   -1  1473 A Z
   -1  1474 C Y
   -1  1475 A Z
   -1  1476 B Z
   -1  1477 A X
   -1  1478 B Z
   -1  1479 A X
   -1  1480 B Z
   -1  1481 A X
   -1  1482 A Y
   -1  1483 A X
   -1  1484 B Z
   -1  1485 A X
   -1  1486 A X
   -1  1487 A X
   -1  1488 B X
   -1  1489 C Y
   -1  1490 B Z
   -1  1491 B X
   -1  1492 A Y
   -1  1493 A Y
   -1  1494 C Y
   -1  1495 B X
   -1  1496 A Z
   -1  1497 C Z
   -1  1498 C Y
   -1  1499 A X
   -1  1500 A Y
   -1  1501 A X
   -1  1502 B Z
   -1  1503 A X
   -1  1504 B X
   -1  1505 C Z
   -1  1506 A Y
   -1  1507 C Y
   -1  1508 A Y
   -1  1509 A Y
   -1  1510 A Z
   -1  1511 C Y
   -1  1512 A X
   -1  1513 B Z
   -1  1514 C X
   -1  1515 B Z
   -1  1516 A X
   -1  1517 B Z
   -1  1518 B Y
   -1  1519 A X
   -1  1520 C Y
   -1  1521 A X
   -1  1522 A Y
   -1  1523 B X
   -1  1524 A X
   -1  1525 B X
   -1  1526 A Z
   -1  1527 A X
   -1  1528 A Y
   -1  1529 B X
   -1  1530 A Y
   -1  1531 B X
   -1  1532 C Y
   -1  1533 B X
   -1  1534 A X
   -1  1535 A Y
   -1  1536 A X
   -1  1537 B X
   -1  1538 A X
   -1  1539 A X
   -1  1540 B X
   -1  1541 A Y
   -1  1542 B Y
   -1  1543 A X
   -1  1544 A Y
   -1  1545 A X
   -1  1546 B X
   -1  1547 C Y
   -1  1548 A X
   -1  1549 A Z
   -1  1550 C Y
   -1  1551 A Y
   -1  1552 C Z
   -1  1553 B X
   -1  1554 B Z
   -1  1555 A Y
   -1  1556 C X
   -1  1557 A Z
   -1  1558 A X
   -1  1559 A X
   -1  1560 B Z
   -1  1561 C X
   -1  1562 A Y
   -1  1563 A X
   -1  1564 A Y
   -1  1565 A X
   -1  1566 A Y
   -1  1567 B Z
   -1  1568 B X
   -1  1569 A Z
   -1  1570 B Z
   -1  1571 A X
   -1  1572 A Y
   -1  1573 B X
   -1  1574 B Z
   -1  1575 A Y
   -1  1576 B Z
   -1  1577 C X
   -1  1578 B Z
   -1  1579 A X
   -1  1580 B X
   -1  1581 B X
   -1  1582 C Y
   -1  1583 B X
   -1  1584 B Z
   -1  1585 A X
   -1  1586 A Y
   -1  1587 B X
   -1  1588 A X
   -1  1589 B Z
   -1  1590 A X
   -1  1591 B Z
   -1  1592 B Z
   -1  1593 C Y
   -1  1594 C Y
   -1  1595 B Z
   -1  1596 B X
   -1  1597 B Z
   -1  1598 A X
   -1  1599 A Y
   -1  1600 A X
   -1  1601 B X
   -1  1602 B Z
   -1  1603 A Y
   -1  1604 B Z
   -1  1605 B X
   -1  1606 B X
   -1  1607 B X
   -1  1608 B Z
   -1  1609 B Z
   -1  1610 A X
   -1  1611 B X
   -1  1612 A Y
   -1  1613 B X
   -1  1614 C Y
   -1  1615 B Z
   -1  1616 B Z
   -1  1617 B X
   -1  1618 C Z
   -1  1619 A Y
   -1  1620 A Y
   -1  1621 B Z
   -1  1622 B Z
   -1  1623 A X
   -1  1624 C Z
   -1  1625 A Y
   -1  1626 A X
   -1  1627 A Y
   -1  1628 B X
   -1  1629 C Y
   -1  1630 A Y
   -1  1631 A X
   -1  1632 B X
   -1  1633 B Z
   -1  1634 A Z
   -1  1635 A Y
   -1  1636 A Z
   -1  1637 A X
   -1  1638 B X
   -1  1639 B X
   -1  1640 A Z
   -1  1641 A Y
   -1  1642 A X
   -1  1643 C Y
   -1  1644 A Y
   -1  1645 A X
   -1  1646 C Z
   -1  1647 A X
   -1  1648 B X
   -1  1649 A Y
   -1  1650 B X
   -1  1651 A Y
   -1  1652 A X
   -1  1653 A Y
   -1  1654 B Z
   -1  1655 B Z
   -1  1656 C Z
   -1  1657 A Y
   -1  1658 A X
   -1  1659 A Y
   -1  1660 A Z
   -1  1661 A Y
   -1  1662 B Z
   -1  1663 B X
   -1  1664 A X
   -1  1665 A X
   -1  1666 B Z
   -1  1667 C X
   -1  1668 A Y
   -1  1669 A X
   -1  1670 A Z
   -1  1671 C X
   -1  1672 C Y
   -1  1673 B Z
   -1  1674 A Y
   -1  1675 B X
   -1  1676 B Z
   -1  1677 C X
   -1  1678 B Z
   -1  1679 A Y
   -1  1680 B Z
   -1  1681 B X
   -1  1682 A Y
   -1  1683 B Z
   -1  1684 B X
   -1  1685 A X
   -1  1686 B Z
   -1  1687 C Y
   -1  1688 A Y
   -1  1689 B Z
   -1  1690 A X
   -1  1691 A X
   -1  1692 B Z
   -1  1693 A X
   -1  1694 C Y
   -1  1695 A X
   -1  1696 B X
   -1  1697 B Z
   -1  1698 B Z
   -1  1699 C Y
   -1  1700 A X
   -1  1701 B Z
   -1  1702 C Z
   -1  1703 B Z
   -1  1704 A Y
   -1  1705 B Z
   -1  1706 B Z
   -1  1707 A X
   -1  1708 B Z
   -1  1709 A X
   -1  1710 B X
   -1  1711 A X
   -1  1712 A X
   -1  1713 B Z
   -1  1714 B X
   -1  1715 A Z
   -1  1716 B Z
   -1  1717 B X
   -1  1718 B Z
   -1  1719 B Z
   -1  1720 B Z
   -1  1721 B Z
   -1  1722 A Y
   -1  1723 B X
   -1  1724 A Y
   -1  1725 B Z
   -1  1726 B X
   -1  1727 A X
   -1  1728 A X
   -1  1729 B X
   -1  1730 B Z
   -1  1731 C Y
   -1  1732 B Z
   -1  1733 B X
   -1  1734 B Z
   -1  1735 B Z
   -1  1736 C Y
   -1  1737 A X
   -1  1738 A Y
   -1  1739 B X
   -1  1740 A Z
   -1  1741 B Z
   -1  1742 B Z
   -1  1743 A X
   -1  1744 A Y
   -1  1745 B Z
   -1  1746 A Z
   -1  1747 A Y
   -1  1748 A Y
   -1  1749 A Y
   -1  1750 A Y
   -1  1751 C Y
   -1  1752 B Z
   -1  1753 A X
   -1  1754 A X
   -1  1755 B X
   -1  1756 A Y
   -1  1757 A Y
   -1  1758 A Y
   -1  1759 A Y
   -1  1760 B X
   -1  1761 B Z
   -1  1762 C Y
   -1  1763 B X
   -1  1764 B X
   -1  1765 A Y
   -1  1766 B X
   -1  1767 B Z
   -1  1768 A X
   -1  1769 C X
   -1  1770 B X
   -1  1771 B X
   -1  1772 B X
   -1  1773 C X
   -1  1774 C Y
   -1  1775 A Y
   -1  1776 A X
   -1  1777 B X
   -1  1778 A Z
   -1  1779 C X
   -1  1780 B Z
   -1  1781 C Y
   -1  1782 B Z
   -1  1783 A Y
   -1  1784 A X
   -1  1785 B X
   -1  1786 B X
   -1  1787 B X
   -1  1788 A Y
   -1  1789 B Z
   -1  1790 A Z
   -1  1791 C Y
   -1  1792 A Y
   -1  1793 A X
   -1  1794 B Z
   -1  1795 C Y
   -1  1796 A Y
   -1  1797 A X
   -1  1798 B Z
   -1  1799 C Z
   -1  1800 C Y
   -1  1801 A Y
   -1  1802 A X
   -1  1803 A Y
   -1  1804 C Z
   -1  1805 A Y
   -1  1806 B Z
   -1  1807 B X
   -1  1808 B X
   -1  1809 C Z
   -1  1810 C Y
   -1  1811 C Y
   -1  1812 C Z
   -1  1813 A Y
   -1  1814 A Z
   -1  1815 C Z
   -1  1816 A Y
   -1  1817 A X
   -1  1818 B Z
   -1  1819 A Y
   -1  1820 A X
   -1  1821 C X
   -1  1822 A Y
   -1  1823 C Y
   -1  1824 C Y
   -1  1825 A X
   -1  1826 B Z
   -1  1827 B X
   -1  1828 A Z
   -1  1829 B X
   -1  1830 A X
   -1  1831 C Y
   -1  1832 A Z
   -1  1833 B Z
   -1  1834 A X
   -1  1835 B Z
   -1  1836 B X
   -1  1837 A Y
   -1  1838 C Z
   -1  1839 B X
   -1  1840 B Z
   -1  1841 C Y
   -1  1842 A X
   -1  1843 B Z
   -1  1844 B X
   -1  1845 A Y
   -1  1846 B X
   -1  1847 C X
   -1  1848 A X
   -1  1849 A X
   -1  1850 A X
   -1  1851 A X
   -1  1852 C Y
   -1  1853 C Y
   -1  1854 A X
   -1  1855 B Z
   -1  1856 A X
   -1  1857 A Y
   -1  1858 A Y
   -1  1859 A X
   -1  1860 A X
   -1  1861 B Z
   -1  1862 B Z
   -1  1863 B X
   -1  1864 A Y
   -1  1865 A Z
   -1  1866 C Y
   -1  1867 A X
   -1  1868 A Y
   -1  1869 B Z
   -1  1870 B X
   -1  1871 B X
   -1  1872 A X
   -1  1873 C X
   -1  1874 B Z
   -1  1875 C Y
   -1  1876 C Z
   -1  1877 B Z
   -1  1878 A X
   -1  1879 B Z
   -1  1880 A Y
   -1  1881 A Y
   -1  1882 A Y
   -1  1883 C Z
   -1  1884 C Y
   -1  1885 A Y
   -1  1886 C Y
   -1  1887 A Y
   -1  1888 A X
   -1  1889 B Z
   -1  1890 B Z
   -1  1891 B X
   -1  1892 C Z
   -1  1893 A Y
   -1  1894 C X
   -1  1895 B Z
   -1  1896 A Y
   -1  1897 B Z
   -1  1898 B X
   -1  1899 B Z
   -1  1900 A X
   -1  1901 A X
   -1  1902 B Z
   -1  1903 C Y
   -1  1904 A Z
   -1  1905 A Y
   -1  1906 B Z
   -1  1907 A Z
   -1  1908 C Y
   -1  1909 B Z
   -1  1910 B X
   -1  1911 A X
   -1  1912 B Z
   -1  1913 B X
   -1  1914 A X
   -1  1915 B Z
   -1  1916 A X
   -1  1917 A X
   -1  1918 B Z
   -1  1919 C Y
   -1  1920 B Z
   -1  1921 A Y
   -1  1922 A X
   -1  1923 A X
   -1  1924 C X
   -1  1925 A Y
   -1  1926 B Z
   -1  1927 C Y
   -1  1928 A Z
   -1  1929 C Y
   -1  1930 B X
   -1  1931 A X
   -1  1932 B X
   -1  1933 C X
   -1  1934 C Y
   -1  1935 B Z
   -1  1936 B Z
   -1  1937 A Y
   -1  1938 A Z
   -1  1939 B X
   -1  1940 B Z
   -1  1941 A Y
   -1  1942 B X
   -1  1943 A Z
   -1  1944 C Y
   -1  1945 C Z
   -1  1946 C Y
   -1  1947 A Y
   -1  1948 C X
   -1  1949 C X
   -1  1950 B X
   -1  1951 A Y
   -1  1952 A X
   -1  1953 B X
   -1  1954 B X
   -1  1955 C Z
   -1  1956 C X
   -1  1957 A X
   -1  1958 A Y
   -1  1959 B X
   -1  1960 B X
   -1  1961 C X
   -1  1962 B Z
   -1  1963 A Y
   -1  1964 B Z
   -1  1965 A Y
   -1  1966 B Z
   -1  1967 C Y
   -1  1968 A X
   -1  1969 A X
   -1  1970 B X
   -1  1971 B Z
   -1  1972 A X
   -1  1973 C Y
   -1  1974 B X
   -1  1975 A X
   -1  1976 A X
   -1  1977 A Y
   -1  1978 A Z
   -1  1979 B X
   -1  1980 A X
   -1  1981 A Y
   -1  1982 A Z
   -1  1983 B X
   -1  1984 B Z
   -1  1985 A Y
   -1  1986 A X
   -1  1987 B X
   -1  1988 A Y
   -1  1989 C Y
   -1  1990 B Y
   -1  1991 B X
   -1  1992 A Y
   -1  1993 C X
   -1  1994 A Z
   -1  1995 C Y
   -1  1996 A X
   -1  1997 B Y
   -1  1998 C Y
   -1  1999 B Z
   -1  2000 B X
   -1  2001 C Y
   -1  2002 C Y
   -1  2003 A Y
   -1  2004 A X
   -1  2005 C X
   -1  2006 A Z
   -1  2007 A X
   -1  2008 B Z
   -1  2009 B X
   -1  2010 B X
   -1  2011 A X
   -1  2012 B X
   -1  2013 A Z
   -1  2014 B X
   -1  2015 B Z
   -1  2016 B Z
   -1  2017 C Z
   -1  2018 B Z
   -1  2019 B X
   -1  2020 C Y
   -1  2021 C Y
   -1  2022 A Z
   -1  2023 C X
   -1  2024 A X
   -1  2025 B Z
   -1  2026 A X
   -1  2027 C Y
   -1  2028 A X
   -1  2029 A Z
   -1  2030 B Z
   -1  2031 B Z
   -1  2032 A X
   -1  2033 B Z
   -1  2034 B Z
   -1  2035 A X
   -1  2036 C Z
   -1  2037 B Z
   -1  2038 B X
   -1  2039 C X
   -1  2040 A Z
   -1  2041 B X
   -1  2042 A Y
   -1  2043 B Z
   -1  2044 C Y
   -1  2045 B Z
   -1  2046 B X
   -1  2047 A Y
   -1  2048 B Z
   -1  2049 A X
   -1  2050 B Z
   -1  2051 A Y
   -1  2052 A Z
   -1  2053 B Z
   -1  2054 C Y
   -1  2055 C Y
   -1  2056 A Z
   -1  2057 B Z
   -1  2058 B X
   -1  2059 B X
   -1  2060 C Z
   -1  2061 B Z
   -1  2062 B Z
   -1  2063 A X
   -1  2064 A X
   -1  2065 A X
   -1  2066 A X
   -1  2067 A X
   -1  2068 C Y
   -1  2069 A X
   -1  2070 B Z
   -1  2071 A X
   -1  2072 B Z
   -1  2073 C Y
   -1  2074 C X
   -1  2075 A Y
   -1  2076 B X
   -1  2077 A X
   -1  2078 B Z
   -1  2079 A Y
   -1  2080 B Z
   -1  2081 C X
   -1  2082 A Y
   -1  2083 B X
   -1  2084 A X
   -1  2085 A Y
   -1  2086 B Z
   -1  2087 A Y
   -1  2088 A X
   -1  2089 B X
   -1  2090 B Y
   -1  2091 B X
   -1  2092 B Z
   -1  2093 B X
   -1  2094 A X
   -1  2095 B X
   -1  2096 B X
   -1  2097 B X
   -1  2098 A Z
   -1  2099 A X
   -1  2100 A X
   -1  2101 B X
   -1  2102 C Y
   -1  2103 A X
   -1  2104 A X
   -1  2105 B X
   -1  2106 B X
   -1  2107 B X
   -1  2108 B X
   -1  2109 A Y
   -1  2110 A X
   -1  2111 B Z
   -1  2112 A X
   -1  2113 A Y
   -1  2114 C Y
   -1  2115 B Z
   -1  2116 A Y
   -1  2117 A X
   -1  2118 C Z
   -1  2119 A X
   -1  2120 B Z
   -1  2121 A X
   -1  2122 B Z
   -1  2123 B Z
   -1  2124 B Z
   -1  2125 C Y
   -1  2126 B X
   -1  2127 C Y
   -1  2128 A Z
   -1  2129 B Z
   -1  2130 A X
   -1  2131 A Y
   -1  2132 A Y
   -1  2133 A Y
   -1  2134 B X
   -1  2135 B Z
   -1  2136 B Z
   -1  2137 A Y
   -1  2138 B Z
   -1  2139 B Z
   -1  2140 B X
   -1  2141 A X
   -1  2142 B Z
   -1  2143 A Y
   -1  2144 A Y
   -1  2145 A X
   -1  2146 B Z
   -1  2147 A X
   -1  2148 A X
   -1  2149 B Z
   -1  2150 C Y
   -1  2151 B X
   -1  2152 A X
   -1  2153 A X
   -1  2154 A Z
   -1  2155 C Y
   -1  2156 A X
   -1  2157 A X
   -1  2158 A X
   -1  2159 A X
   -1  2160 A X
   -1  2161 C Y
   -1  2162 A X
   -1  2163 A X
   -1  2164 B X
   -1  2165 B Z
   -1  2166 C Z
   -1  2167 B X
   -1  2168 A Y
   -1  2169 B Z
   -1  2170 A X
   -1  2171 A Y
   -1  2172 B Z
   -1  2173 B Z
   -1  2174 B Z
   -1  2175 B Z
   -1  2176 A X
   -1  2177 A Y
   -1  2178 A Y
   -1  2179 B X
   -1  2180 A Y
   -1  2181 A Z
   -1  2182 A Y
   -1  2183 B Y
   -1  2184 A X
   -1  2185 B Z
   -1  2186 A X
   -1  2187 A Y
   -1  2188 C Y
   -1  2189 B Z
   -1  2190 C Y
   -1  2191 A X
   -1  2192 B Z
   -1  2193 A X
   -1  2194 A Z
   -1  2195 B Z
   -1  2196 A X
   -1  2197 B X
   -1  2198 C Y
   -1  2199 A Y
   -1  2200 A X
   -1  2201 A Z
   -1  2202 C Y
   -1  2203 A Z
   -1  2204 A Y
   -1  2205 A Y
   -1  2206 A X
   -1  2207 A X
   -1  2208 A Z
   -1  2209 A Y
   -1  2210 B X
   -1  2211 B Z
   -1  2212 B X
   -1  2213 B X
   -1  2214 C Y
   -1  2215 A Y
   -1  2216 A X
   -1  2217 B X
   -1  2218 A X
   -1  2219 B Z
   -1  2220 A X
   -1  2221 A X
   -1  2222 B Z
   -1  2223 C Y
   -1  2224 B X
   -1  2225 C Y
   -1  2226 A X
   -1  2227 B X
   -1  2228 C Z
   -1  2229 A Y
   -1  2230 B X
   -1  2231 A Y
   -1  2232 A Y
   -1  2233 B X
   -1  2234 C Y
   -1  2235 B Z
   -1  2236 A Y
   -1  2237 B Z
   -1  2238 A Y
   -1  2239 A X
   -1  2240 A X
   -1  2241 A Y
   -1  2242 B Z
   -1  2243 B Z
   -1  2244 A Y
   -1  2245 A X
   -1  2246 A X
   -1  2247 B X
   -1  2248 B Z
   -1  2249 A Y
   -1  2250 A X
   -1  2251 C Y
   -1  2252 B X
   -1  2253 C Y
   -1  2254 B Z
   -1  2255 B Z
   -1  2256 B X
   -1  2257 A Y
   -1  2258 B X
   -1  2259 B X
   -1  2260 A X
   -1  2261 C Y
   -1  2262 C Y
   -1  2263 B Z
   -1  2264 B X
   -1  2265 A Y
   -1  2266 C Z
   -1  2267 C Z
   -1  2268 C Y
   -1  2269 A Y
   -1  2270 B X
   -1  2271 B Z
   -1  2272 B X
   -1  2273 A X
   -1  2274 B Z
   -1  2275 A Y
   -1  2276 A X
   -1  2277 C Y
   -1  2278 B X
   -1  2279 A Y
   -1  2280 B X
   -1  2281 A Z
   -1  2282 A X
   -1  2283 A Y
   -1  2284 C Y
   -1  2285 A Y
   -1  2286 A X
   -1  2287 C Y
   -1  2288 C Z
   -1  2289 B X
   -1  2290 A Y
   -1  2291 C Y
   -1  2292 B Z
   -1  2293 B X
   -1  2294 A X
   -1  2295 B X
   -1  2296 B X
   -1  2297 C Y
   -1  2298 B Z
   -1  2299 B Z
   -1  2300 B Z
   -1  2301 B X
   -1  2302 B Z
   -1  2303 A Y
   -1  2304 B Y
   -1  2305 B Z
   -1  2306 A Z
   -1  2307 A X
   -1  2308 B Y
   -1  2309 A X
   -1  2310 B Z
   -1  2311 A Y
   -1  2312 B X
   -1  2313 A X
   -1  2314 B Z
   -1  2315 C Z
   -1  2316 B Z
   -1  2317 B Z
   -1  2318 A Y
   -1  2319 B X
   -1  2320 A X
   -1  2321 A X
   -1  2322 B X
   -1  2323 A Y
   -1  2324 A Y
   -1  2325 A X
   -1  2326 C Z
   -1  2327 C X
   -1  2328 A Y
   -1  2329 C X
   -1  2330 A Y
   -1  2331 A Z
   -1  2332 C Y
   -1  2333 A X
   -1  2334 B X
   -1  2335 A X
   -1  2336 B Z
   -1  2337 A X
   -1  2338 C Y
   -1  2339 A Y
   -1  2340 B X
   -1  2341 C Y
   -1  2342 A Y
   -1  2343 A Z
   -1  2344 A Y
   -1  2345 A Y
   -1  2346 B Z
   -1  2347 C Z
   -1  2348 C Y
   -1  2349 A Y
   -1  2350 A Y
   -1  2351 B X
   -1  2352 C X
   -1  2353 A Z
   -1  2354 B Z
   -1  2355 C Y
   -1  2356 A X
   -1  2357 A Y
   -1  2358 B X
   -1  2359 A Y
   -1  2360 C Y
   -1  2361 C Z
   -1  2362 A Y
   -1  2363 B Z
   -1  2364 A X
   -1  2365 C Y
   -1  2366 B X
   -1  2367 B Z
   -1  2368 A X
   -1  2369 C Z
   -1  2370 B Z
   -1  2371 C Y
   -1  2372 C Z
   -1  2373 B Z
   -1  2374 A X
   -1  2375 A Y
   -1  2376 A X
   -1  2377 B X
   -1  2378 B Z
   -1  2379 B X
   -1  2380 A X
   -1  2381 B Z
   -1  2382 C Y
   -1  2383 A Z
   -1  2384 A Z
   -1  2385 C Y
   -1  2386 A Y
   -1  2387 C X
   -1  2388 B X
   -1  2389 A X
   -1  2390 A X
   -1  2391 B X
   -1  2392 B Z
   -1  2393 B X
   -1  2394 B Z
   -1  2395 B Z
   -1  2396 A X
   -1  2397 B X
   -1  2398 A X
   -1  2399 A Y
   -1  2400 A X
   -1  2401 C Z
   -1  2402 B Z
   -1  2403 A X
   -1  2404 C Z
   -1  2405 C Z
   -1  2406 C X
   -1  2407 A X
   -1  2408 B X
   -1  2409 A X
   -1  2410 A Z
   -1  2411 A X
   -1  2412 C Z
   -1  2413 A X
   -1  2414 A X
   -1  2415 B Z
   -1  2416 C Z
   -1  2417 C Y
   -1  2418 B Z
   -1  2419 B X
   -1  2420 A X
   -1  2421 A X
   -1  2422 A Y
   -1  2423 B Z
   -1  2424 A Y
   -1  2425 B X
   -1  2426 B Z
   -1  2427 C X
   -1  2428 B Z
   -1  2429 B X
   -1  2430 A Y
   -1  2431 B Z
   -1  2432 A Z
   -1  2433 A Y
   -1  2434 A Y
   -1  2435 B X
   -1  2436 C X
   -1  2437 A Y
   -1  2438 A Y
   -1  2439 C Y
   -1  2440 C Y
   -1  2441 B Z
   -1  2442 B X
   -1  2443 C Y
   -1  2444 C Y
   -1  2445 A Y
   -1  2446 A X
   -1  2447 A Y
   -1  2448 A Y
   -1  2449 B Z
   -1  2450 B X
   -1  2451 A X
   -1  2452 B X
   -1  2453 B Z
   -1  2454 B Z
   -1  2455 A Z
   -1  2456 A Z
   -1  2457 A Z
   -1  2458 A X
   -1  2459 B X
   -1  2460 B Z
   -1  2461 A X
   -1  2462 B Z
   -1  2463 A X
   -1  2464 B Z
   -1  2465 B X
   -1  2466 C Z
   -1  2467 B Y
   -1  2468 A Y
   -1  2469 A Y
   -1  2470 A X
   -1  2471 A X
   -1  2472 B Z
   -1  2473 B Z
   -1  2474 B X
   -1  2475 A Y
   -1  2476 C Y
   -1  2477 B X
   -1  2478 A X
   -1  2479 B X
   -1  2480 C Y
   -1  2481 A X
   -1  2482 A X
   -1  2483 B X
   -1  2484 C Y
   -1  2485 C Y
   -1  2486 C X
   -1  2487 B X
   -1  2488 C Y
   -1  2489 A Z
   -1  2490 B Z
   -1  2491 B Z
   -1  2492 B Z
   -1  2493 B X
   -1  2494 B Z
   -1  2495 A X
   -1  2496 B X
   -1  2497 A X
   -1  2498 A Y
   -1  2499 C Z
   -1  2500 B X

diff --git a/2022/02/part1.rs b/2022/02/part1.rs

@@ -0,0 +1,33 @@
   -1     1 use std::env::args;
   -1     2 use std::fs::File;
   -1     3 use std::io::BufRead;
   -1     4 use std::io::BufReader;
   -1     5 
   -1     6 fn main() {
   -1     7     let path = args().nth(1).unwrap();
   -1     8     let file = File::open(path).unwrap();
   -1     9 
   -1    10     let mut score = 0;
   -1    11 
   -1    12     for line in BufReader::new(file).lines() {
   -1    13         let l = line.unwrap();
   -1    14         let opponent = match l.chars().nth(0) {
   -1    15             Some('A') => 0,
   -1    16             Some('B') => 1,
   -1    17             Some('C') => 2,
   -1    18             _ => unreachable!(),
   -1    19         };
   -1    20         let own = match l.chars().nth(2) {
   -1    21             Some('X') => 0,
   -1    22             Some('Y') => 1,
   -1    23             Some('Z') => 2,
   -1    24             _ => unreachable!(),
   -1    25         };
   -1    26 
   -1    27         let match_score = (4 + own - opponent) % 3;
   -1    28 
   -1    29         score += (own + 1) + (match_score * 3);
   -1    30     }
   -1    31 
   -1    32     println!("{}", score);
   -1    33 }

diff --git a/2022/02/part2.rs b/2022/02/part2.rs

@@ -0,0 +1,33 @@
   -1     1 use std::env::args;
   -1     2 use std::fs::File;
   -1     3 use std::io::BufRead;
   -1     4 use std::io::BufReader;
   -1     5 
   -1     6 fn main() {
   -1     7     let path = args().nth(1).unwrap();
   -1     8     let file = File::open(path).unwrap();
   -1     9 
   -1    10     let mut score = 0;
   -1    11 
   -1    12     for line in BufReader::new(file).lines() {
   -1    13         let l = line.unwrap();
   -1    14         let opponent = match l.chars().nth(0) {
   -1    15             Some('A') => 0,
   -1    16             Some('B') => 1,
   -1    17             Some('C') => 2,
   -1    18             _ => unreachable!(),
   -1    19         };
   -1    20         let match_score = match l.chars().nth(2) {
   -1    21             Some('X') => 0,
   -1    22             Some('Y') => 1,
   -1    23             Some('Z') => 2,
   -1    24             _ => unreachable!(),
   -1    25         };
   -1    26 
   -1    27         let own = (2 + match_score + opponent) % 3;
   -1    28 
   -1    29         score += (own + 1) + (match_score * 3);
   -1    30     }
   -1    31 
   -1    32     println!("{}", score);
   -1    33 }

diff --git a/2022/02/test.txt b/2022/02/test.txt

@@ -0,0 +1,3 @@
   -1     1 A Y
   -1     2 B X
   -1     3 C Z