|
|
1.1 ! root 1: Berkeley Pascal PI -- Version 3.1 (9/7/85) ! 2: ! 3: Sun Jul 21 14:56 1985 insan.p ! 4: ! 5: 0 TRA4 0 ! 6: 1 program insane(input, output); ! 7: 2 label ! 8: 6 GOTO:1 6 ! 9: 3 1; ! 10: 4 type ! 11: 5 alfa = packed array[1..10] of char; ! 12: 6 metaface = (notaface, front, back, top, bottom, left, right); ! 13: 7 face = front .. right; ! 14: 8 metapair = (notapair, one2, three4, five6); ! 15: 9 pair = one2 .. five6; ! 16: 10 metacolor = (notacolor, red, blue, green, white); ! 17: 11 color = red .. white; ! 18: 12 blockno = 1..4; ! 19: 13 var ! 20: 14 nosolutions: Boolean; ! 21: 15 index, halfindex: integer; ! 22: 16 pointr: integer; ! 23: 17 datas: array[blockno, face] of alfa; ! 24: 18 sum: array[blockno, pair, color] of integer; ! 25: 19 halfsolution: array[blockno, 1..30] of pair; ! 26: 12 TRA4 12 ! 27: ! 28: 21 function word(alf: alfa): color; ! 29: 22 begin ! 30: 23 if alf = 'red' then ! 31: 24 word := red else ! 32: 25 if alf = 'blue' then ! 33: 26 word := blue else ! 34: 27 if alf = 'green' then ! 35: 28 word := green else ! 36: 29 word := white; ! 37: patch 12 18 ! 38: 18 BEG:20 0 ! 39: 24 CASE4 12 ! 40: 28 CASE4 1 ! 41: 32 CASE2 22 ! 42: 34 "word" ! 43: 40 LINO:23 ! 44: 42 RV:5 32 10 ! 45: 48 CONG:10 ! 46: 50 "red" ! 47: 62 RELG EQ 10 ! 48: 66 IF -2 ! 49: 70 LINO:24 ! 50: 72 LV:5 44 ! 51: 76 CON1:1 ! 52: 78 RANG2:1 4 ! 53: 82 AS2 ! 54: 84 TRA -2 ! 55: patch 66 20 ! 56: 88 LINO:25 ! 57: 90 RV:5 32 10 ! 58: 96 CONG:10 ! 59: 98 "blue" ! 60: 110 RELG EQ 10 ! 61: 114 IF -2 ! 62: 118 LINO:26 ! 63: 120 LV:5 44 ! 64: 124 CON1:2 ! 65: 126 RANG2:1 4 ! 66: 130 AS2 ! 67: 132 TRA -2 ! 68: patch 114 20 ! 69: 136 LINO:27 ! 70: 138 RV:5 32 10 ! 71: 144 CONG:10 ! 72: 146 "green" ! 73: 158 RELG EQ 10 ! 74: 162 IF -2 ! 75: 166 LINO:28 ! 76: 168 LV:5 44 ! 77: 172 CON1:3 ! 78: 174 RANG2:1 4 ! 79: 178 AS2 ! 80: 180 TRA -2 ! 81: patch 162 20 ! 82: 184 LINO:29 ! 83: 186 LV:5 44 ! 84: 190 CON1:4 ! 85: 192 RANG2:1 4 ! 86: 196 AS2 ! 87: patch 180 16 ! 88: patch 132 64 ! 89: patch 84 112 ! 90: 198 END ! 91: patch 18 0 ! 92: 30 end; ! 93: 200 TRA4 200 ! 94: ! 95: 32 procedure readin; ! 96: 33 var ! 97: 34 hue: alfa; ! 98: 35 ch: char; ! 99: 36 cube: blockno; ! 100: 37 position: face; ! 101: 206 TRA4 206 ! 102: ! 103: 39 procedure tone; ! 104: 40 begin ! 105: 41 case ch of ! 106: 42 'r': hue := 'red'; ! 107: 43 'w': hue := 'white'; ! 108: 44 'g': hue := 'green'; ! 109: 45 'b': hue := 'blue'; ! 110: 46 end; ! 111: patch 206 214 ! 112: 214 BEG:20 0 ! 113: 220 CASE4 0 ! 114: 224 CASE4 1 ! 115: 228 CASE2 40 ! 116: 230 "tone" ! 117: 236 LINO:41 ! 118: 238 RV1:4 -13 ! 119: 242 CASE1OP:4 ! 120: 244 .=.+8 ! 121: 252 CASE1 114 ! 122: 253 CASE1 119 ! 123: 254 CASE1 103 ! 124: 255 CASE1 98 ! 125: 256 TRA -2 ! 126: patch 242 16 ! 127: 260 LINO:42 ! 128: 262 LV:4 -12 ! 129: 266 CONG:10 ! 130: 268 "red" ! 131: 280 AS:10 ! 132: 282 TRA -28 ! 133: patch 244 42 ! 134: 286 LINO:43 ! 135: 288 LV:4 -12 ! 136: 292 CONG:10 ! 137: 294 "white" ! 138: 306 AS:10 ! 139: 308 TRA -54 ! 140: patch 246 68 ! 141: 312 LINO:44 ! 142: 314 LV:4 -12 ! 143: 318 CONG:10 ! 144: 320 "green" ! 145: 332 AS:10 ! 146: 334 TRA -80 ! 147: patch 248 94 ! 148: 338 LINO:45 ! 149: 340 LV:4 -12 ! 150: 344 CONG:10 ! 151: 346 "blue" ! 152: 358 AS:10 ! 153: 360 TRA -106 ! 154: patch 256 106 ! 155: 364 END ! 156: patch 214 0 ! 157: 47 end; ! 158: ! 159: 49 begin ! 160: 50 for cube := 1 to 4 do ! 161: 51 begin ! 162: 52 for position := front to right do ! 163: 53 begin ! 164: 54 read(ch); ! 165: 55 tone; ! 166: 56 datas[cube, position] := hue; ! 167: 57 end; ! 168: 58 readln; ! 169: 59 end; ! 170: patch 200 366 ! 171: 366 BEG:22 0 ! 172: 372 CASE4 0 ! 173: 376 CASE4 1 ! 174: 380 CASE2 49 ! 175: 382 "readin" ! 176: 390 LINO:50 ! 177: 392 LV:4 -20 ! 178: 396 CON1:1 ! 179: 398 AS24 ! 180: 400 LV:4 -24 ! 181: 404 CON1:4 ! 182: 406 AS24 ! 183: 408 RV4:4 -20 ! 184: 412 RV4:4 -24 ! 185: 416 REL4 LE ! 186: 418 IF -2 ! 187: 422 LV:4 -25 ! 188: 426 RV4:4 -24 ! 189: 430 RANG42:1 4 ! 190: 434 AS41 ! 191: 436 LV:4 -25 ! 192: 440 RV4:4 -20 ! 193: 444 RANG42:1 4 ! 194: 448 AS41 ! 195: 450 LV:4 -14 ! 196: 454 RV14:4 -25 ! 197: 458 AS41 ! 198: 460 LINO:52 ! 199: 462 LV:4 -32 ! 200: 466 CON1:1 ! 201: 468 AS24 ! 202: 470 LV:4 -36 ! 203: 474 CON1:6 ! 204: 476 AS24 ! 205: 478 RV4:4 -32 ! 206: 482 RV4:4 -36 ! 207: 486 REL4 LE ! 208: 488 IF -2 ! 209: 492 LV:4 -37 ! 210: 496 RV4:4 -36 ! 211: 500 RANG42:1 6 ! 212: 504 AS41 ! 213: 506 LV:4 -37 ! 214: 510 RV4:4 -32 ! 215: 514 RANG42:1 6 ! 216: 518 AS41 ! 217: 520 LV:4 -15 ! 218: 524 RV14:4 -37 ! 219: 528 AS41 ! 220: 530 LINO:54 ! 221: 532 UNITINP ! 222: 534 LV:4 -13 ! 223: 538 READC ! 224: 540 RSNG2:127 ! 225: 542 AS21 ! 226: 544 LINO:55 ! 227: 546 CALL:2 206 ! 228: 552 LINO:56 ! 229: 554 LV:2 -256 ! 230: 558 RV1:4 -25 ! 231: 562 INX2:60 1 4 ! 232: 568 RV1:4 -37 ! 233: 572 INX2:10 1 6 ! 234: 578 RV:4 -12 10 ! 235: 584 AS:10 ! 236: 586 LINO:52 ! 237: 588 RV4:4 -36 ! 238: 592 LV:4 -37 ! 239: 596 FOR1U:-78 ! 240: patch 488 108 ! 241: 598 LINO:58 ! 242: 600 UNITINP ! 243: 602 READLN ! 244: 604 LINO:50 ! 245: 606 RV4:4 -24 ! 246: 610 LV:4 -25 ! 247: 614 FOR1U -168 ! 248: patch 418 198 ! 249: 618 END ! 250: patch 366 40 ! 251: 60 end; ! 252: 620 TRA4 620 ! 253: ! 254: 62 procedure sumcolors; ! 255: 63 var ! 256: 64 cube: blockno; ! 257: 65 side: face; ! 258: 626 TRA4 626 ! 259: 66 function facepair(aface: face): pair; ! 260: 67 begin ! 261: 68 case aface of ! 262: 69 front, back: facepair := one2; ! 263: 70 top, bottom: facepair := three4; ! 264: 71 left, right: facepair := five6 ! 265: 72 end; ! 266: patch 626 634 ! 267: 634 BEG:24 0 ! 268: 640 CASE4 4 ! 269: 644 CASE4 1 ! 270: 648 CASE2 67 ! 271: 650 "facepair" ! 272: 660 LINO:68 ! 273: 662 RV1:7 33 ! 274: 666 CASE1OP:6 ! 275: 668 .=.+12 ! 276: 680 CASE1 1 ! 277: 681 CASE1 2 ! 278: 682 CASE1 3 ! 279: 683 CASE1 4 ! 280: 684 CASE1 5 ! 281: 685 CASE1 6 ! 282: 686 TRA -2 ! 283: patch 666 22 ! 284: patch 668 22 ! 285: 690 LINO:69 ! 286: 692 LV:7 36 ! 287: 696 CON1:1 ! 288: 698 RANG2:1 3 ! 289: 702 AS2 ! 290: 704 TRA -20 ! 291: patch 670 40 ! 292: patch 672 40 ! 293: 708 LINO:70 ! 294: 710 LV:7 36 ! 295: 714 CON1:2 ! 296: 716 RANG2:1 3 ! 297: 720 AS2 ! 298: 722 TRA -38 ! 299: patch 674 58 ! 300: patch 676 58 ! 301: 726 LINO:71 ! 302: 728 LV:7 36 ! 303: 732 CON1:3 ! 304: 734 RANG2:1 3 ! 305: 738 AS2 ! 306: 740 TRA -56 ! 307: patch 686 56 ! 308: 744 END ! 309: patch 634 0 ! 310: 73 end; ! 311: 746 TRA4 746 ! 312: ! 313: 75 procedure initializesum; ! 314: 76 var ! 315: 77 cube: blockno; ! 316: 78 side: face; ! 317: 79 technicolor: color; ! 318: 80 begin ! 319: 81 for cube := 1 to 4 do ! 320: 82 for side := front to right do ! 321: 83 for technicolor := red to white do ! 322: 84 sum[cube, facepair(side), technicolor] := 0; ! 323: patch 746 754 ! 324: 754 BEG:28 0 ! 325: 760 CASE4 0 ! 326: 764 CASE4 1 ! 327: 768 CASE2 80 ! 328: 770 "initializesum" ! 329: 784 LINO:81 ! 330: 786 LV:6 -8 ! 331: 790 CON1:1 ! 332: 792 AS24 ! 333: 794 LV:6 -12 ! 334: 798 CON1:4 ! 335: 800 AS24 ! 336: 802 RV4:6 -8 ! 337: 806 RV4:6 -12 ! 338: 810 REL4 LE ! 339: 812 IF -2 ! 340: 816 LV:6 -13 ! 341: 820 RV4:6 -12 ! 342: 824 RANG42:1 4 ! 343: 828 AS41 ! 344: 830 LV:6 -13 ! 345: 834 RV4:6 -8 ! 346: 838 RANG42:1 4 ! 347: 842 AS41 ! 348: 844 LV:6 -1 ! 349: 848 RV14:6 -13 ! 350: 852 AS41 ! 351: 854 LINO:82 ! 352: 856 LV:6 -20 ! 353: 860 CON1:1 ! 354: 862 AS24 ! 355: 864 LV:6 -24 ! 356: 868 CON1:6 ! 357: 870 AS24 ! 358: 872 RV4:6 -20 ! 359: 876 RV4:6 -24 ! 360: 880 REL4 LE ! 361: 882 IF -2 ! 362: 886 LV:6 -25 ! 363: 890 RV4:6 -24 ! 364: 894 RANG42:1 6 ! 365: 898 AS41 ! 366: 900 LV:6 -25 ! 367: 904 RV4:6 -20 ! 368: 908 RANG42:1 6 ! 369: 912 AS41 ! 370: 914 LV:6 -2 ! 371: 918 RV14:6 -25 ! 372: 922 AS41 ! 373: 924 LINO:83 ! 374: 926 LV:6 -32 ! 375: 930 CON1:1 ! 376: 932 AS24 ! 377: 934 LV:6 -36 ! 378: 938 CON1:4 ! 379: 940 AS24 ! 380: 942 RV4:6 -32 ! 381: 946 RV4:6 -36 ! 382: 950 REL4 LE ! 383: 952 IF -2 ! 384: 956 LV:6 -37 ! 385: 960 RV4:6 -36 ! 386: 964 RANG42:1 4 ! 387: 968 AS41 ! 388: 970 LV:6 -37 ! 389: 974 RV4:6 -32 ! 390: 978 RANG42:1 4 ! 391: 982 AS41 ! 392: 984 LV:6 -3 ! 393: 988 RV14:6 -37 ! 394: 992 AS41 ! 395: 994 LINO:84 ! 396: 996 LV:2 -448 ! 397: 1000 RV1:6 -13 ! 398: 1004 INX2:48 1 4 ! 399: 1010 PUSH:-4 ! 400: 1012 RV1:6 -25 ! 401: 1016 RANG2:1 6 ! 402: 1020 CALL:2 626 ! 403: 1026 INX2:16 1 3 ! 404: 1032 RV1:6 -37 ! 405: 1036 INX2:4 1 4 ! 406: 1042 CON1 ! 407: 1044 AS24 ! 408: 1046 LINO:83 ! 409: 1048 RV4:6 -36 ! 410: 1052 LV:6 -37 ! 411: 1056 FOR1U:-74 ! 412: patch 952 104 ! 413: 1058 LINO:82 ! 414: 1060 RV4:6 -24 ! 415: 1064 LV:6 -25 ! 416: 1068 FOR1U -158 ! 417: patch 882 188 ! 418: 1072 LINO:81 ! 419: 1074 RV4:6 -12 ! 420: 1078 LV:6 -13 ! 421: 1082 FOR1U -242 ! 422: patch 812 272 ! 423: 1086 END ! 424: patch 754 40 ! 425: 85 end; ! 426: ! 427: 87 begin ! 428: 88 initializesum; ! 429: 89 for cube := 1 to 4 do ! 430: 90 for side := front to right do ! 431: 91 sum[cube, facepair(side), word(datas[cube,side])] := ! 432: 92 sum[cube, facepair(side), word(datas[cube,side])] + 1; ! 433: patch 620 1090 ! 434: 1090 BEG:24 0 ! 435: 1096 CASE4 0 ! 436: 1100 CASE4 1 ! 437: 1104 CASE2 87 ! 438: 1106 "sumcolors" ! 439: 1116 LINO:88 ! 440: 1118 CALL:2 746 ! 441: 1124 LINO:89 ! 442: 1126 LV:4 -8 ! 443: 1130 CON1:1 ! 444: 1132 AS24 ! 445: 1134 LV:4 -12 ! 446: 1138 CON1:4 ! 447: 1140 AS24 ! 448: 1142 RV4:4 -8 ! 449: 1146 RV4:4 -12 ! 450: 1150 REL4 LE ! 451: 1152 IF -2 ! 452: 1156 LV:4 -13 ! 453: 1160 RV4:4 -12 ! 454: 1164 RANG42:1 4 ! 455: 1168 AS41 ! 456: 1170 LV:4 -13 ! 457: 1174 RV4:4 -8 ! 458: 1178 RANG42:1 4 ! 459: 1182 AS41 ! 460: 1184 LV:4 -1 ! 461: 1188 RV14:4 -13 ! 462: 1192 AS41 ! 463: 1194 LINO:90 ! 464: 1196 LV:4 -20 ! 465: 1200 CON1:1 ! 466: 1202 AS24 ! 467: 1204 LV:4 -24 ! 468: 1208 CON1:6 ! 469: 1210 AS24 ! 470: 1212 RV4:4 -20 ! 471: 1216 RV4:4 -24 ! 472: 1220 REL4 LE ! 473: 1222 IF -2 ! 474: 1226 LV:4 -25 ! 475: 1230 RV4:4 -24 ! 476: 1234 RANG42:1 6 ! 477: 1238 AS41 ! 478: 1240 LV:4 -25 ! 479: 1244 RV4:4 -20 ! 480: 1248 RANG42:1 6 ! 481: 1252 AS41 ! 482: 1254 LV:4 -2 ! 483: 1258 RV14:4 -25 ! 484: 1262 AS41 ! 485: 1264 LINO:91 ! 486: 1266 LV:2 -448 ! 487: 1270 RV1:4 -13 ! 488: 1274 INX2:48 1 4 ! 489: 1280 PUSH:-4 ! 490: 1282 RV1:4 -25 ! 491: 1286 RANG2:1 6 ! 492: 1290 CALL:2 626 ! 493: 1296 INX2:16 1 3 ! 494: 1302 PUSH:-4 ! 495: 1304 LV:2 -256 ! 496: 1308 RV1:4 -13 ! 497: 1312 INX2:60 1 4 ! 498: 1318 RV1:4 -25 ! 499: 1322 INX2:10 1 6 ! 500: 1328 IND:10 ! 501: 1330 CALL:1 12 ! 502: 1336 INX2:4 1 4 ! 503: 1342 LV:2 -448 ! 504: 1346 RV1:4 -13 ! 505: 1350 INX2:48 1 4 ! 506: 1356 PUSH:-4 ! 507: 1358 RV1:4 -25 ! 508: 1362 RANG2:1 6 ! 509: 1366 CALL:2 626 ! 510: 1372 INX2:16 1 3 ! 511: 1378 PUSH:-4 ! 512: 1380 LV:2 -256 ! 513: 1384 RV1:4 -13 ! 514: 1388 INX2:60 1 4 ! 515: 1394 RV1:4 -25 ! 516: 1398 INX2:10 1 6 ! 517: 1404 IND:10 ! 518: 1406 CALL:1 12 ! 519: 1412 INX2:4 1 4 ! 520: 1418 IND4 ! 521: 1420 CON1:1 ! 522: 1422 ADD24 ! 523: 1424 AS4 ! 524: 1426 LINO:90 ! 525: 1428 RV4:4 -24 ! 526: 1432 LV:4 -25 ! 527: 1436 FOR1U -186 ! 528: patch 1222 216 ! 529: 1440 LINO:89 ! 530: 1442 RV4:4 -12 ! 531: 1446 LV:4 -13 ! 532: 1450 FOR1U -270 ! 533: patch 1152 300 ! 534: 1454 END ! 535: patch 1090 28 ! 536: 93 end; ! 537: 1456 TRA4 1456 ! 538: ! 539: 95 procedure find2222; ! 540: 96 var ! 541: 97 subtotals: array[red..white] of integer; ! 542: 98 pair1, pair2, pair3, pair4: pair; ! 543: 1462 TRA4 1462 ! 544: ! 545: 100 function two222(pair1, pair2, pair3, pair4: pair): Boolean; ! 546: 101 var ! 547: 102 hue: color; ! 548: 103 begin ! 549: 104 for hue := red to white do ! 550: 105 subtotals[hue] := ! 551: 106 sum[1, pair1, hue]+ ! 552: 107 sum[2, pair2, hue]+ ! 553: 108 sum[3, pair3, hue]+ ! 554: 109 sum[4, pair4, hue]; ! 555: 110 if (subtotals[red]=2) and ! 556: 111 (subtotals[blue]=2) and ! 557: 112 (subtotals[green]=2) and ! 558: 113 (subtotals[white]=2) then ! 559: 114 two222 := true else ! 560: 115 two222 := false; ! 561: patch 1462 1470 ! 562: 1470 BEG:22 0 ! 563: 1476 CASE4 16 ! 564: 1480 CASE4 1 ! 565: 1484 CASE2 103 ! 566: 1486 "two222" ! 567: 1494 LINO:104 ! 568: 1496 LV:6 -8 ! 569: 1500 CON1:1 ! 570: 1502 AS24 ! 571: 1504 LV:6 -12 ! 572: 1508 CON1:4 ! 573: 1510 AS24 ! 574: 1512 RV4:6 -8 ! 575: 1516 RV4:6 -12 ! 576: 1520 REL4 LE ! 577: 1522 IF -2 ! 578: 1526 LV:6 -13 ! 579: 1530 RV4:6 -12 ! 580: 1534 RANG42:1 4 ! 581: 1538 AS41 ! 582: 1540 LV:6 -13 ! 583: 1544 RV4:6 -8 ! 584: 1548 RANG42:1 4 ! 585: 1552 AS41 ! 586: 1554 LV:6 -1 ! 587: 1558 RV14:6 -13 ! 588: 1562 AS41 ! 589: 1564 LINO:105 ! 590: 1566 LV:4 -16 ! 591: 1570 RV1:6 -13 ! 592: 1574 INX2:4 1 4 ! 593: 1580 LV:2 -448 ! 594: 1584 RV1:7 45 ! 595: 1588 INX2:16 1 3 ! 596: 1594 RV1:6 -13 ! 597: 1598 INX2:4 1 4 ! 598: 1604 IND4 ! 599: 1606 LV:2 -448 ! 600: 1610 CON1:48 ! 601: 1612 ADD24 ! 602: 1614 RV1:7 41 ! 603: 1618 INX2:16 1 3 ! 604: 1624 RV1:6 -13 ! 605: 1628 INX2:4 1 4 ! 606: 1634 IND4 ! 607: 1636 ADD4 ! 608: 1638 LV:2 -448 ! 609: 1642 CON1:96 ! 610: 1644 ADD24 ! 611: 1646 RV1:7 37 ! 612: 1650 INX2:16 1 3 ! 613: 1656 RV1:6 -13 ! 614: 1660 INX2:4 1 4 ! 615: 1666 IND4 ! 616: 1668 ADD4 ! 617: 1670 LV:2 -448 ! 618: 1674 CON2 144 ! 619: 1678 ADD24 ! 620: 1680 RV1:7 33 ! 621: 1684 INX2:16 1 3 ! 622: 1690 RV1:6 -13 ! 623: 1694 INX2:4 1 4 ! 624: 1700 IND4 ! 625: 1702 ADD4 ! 626: 1704 AS4 ! 627: 1706 LINO:104 ! 628: 1708 RV4:6 -12 ! 629: 1712 LV:6 -13 ! 630: 1716 FOR1U -166 ! 631: patch 1522 196 ! 632: 1720 LINO:110 ! 633: 1722 LV:4 -16 ! 634: 1726 IND4 ! 635: 1728 CON1:2 ! 636: 1730 REL24 EQ ! 637: 1732 LV:4 -16 ! 638: 1736 CON1:4 ! 639: 1738 ADD24 ! 640: 1740 IND4 ! 641: 1742 CON1:2 ! 642: 1744 REL24 EQ ! 643: 1746 AND ! 644: 1748 LV:4 -16 ! 645: 1752 CON1:8 ! 646: 1754 ADD24 ! 647: 1756 IND4 ! 648: 1758 CON1:2 ! 649: 1760 REL24 EQ ! 650: 1762 AND ! 651: 1764 LV:4 -16 ! 652: 1768 CON1:12 ! 653: 1770 ADD24 ! 654: 1772 IND4 ! 655: 1774 CON1:2 ! 656: 1776 REL24 EQ ! 657: 1778 AND ! 658: 1780 IF -2 ! 659: 1784 LINO:114 ! 660: 1786 LV:7 48 ! 661: 1790 CON1:1 ! 662: 1792 RSNG2:1 ! 663: 1794 AS2 ! 664: 1796 TRA -2 ! 665: patch 1780 18 ! 666: 1800 LINO:115 ! 667: 1802 LV:7 48 ! 668: 1806 CON1 ! 669: 1808 RSNG2:1 ! 670: 1810 AS2 ! 671: patch 1796 14 ! 672: 1812 END ! 673: patch 1470 16 ! 674: 116 end; ! 675: 1814 TRA4 1814 ! 676: ! 677: 118 procedure listsolution; ! 678: 119 begin ! 679: 120 halfsolution[1, halfindex] := pair1; ! 680: 121 halfsolution[2, halfindex] := pair2; ! 681: 122 halfsolution[3, halfindex] := pair3; ! 682: 123 halfsolution[4, halfindex] := pair4; ! 683: 124 halfindex := halfindex + 1; ! 684: patch 1814 1822 ! 685: 1822 BEG:28 0 ! 686: 1828 CASE4 0 ! 687: 1832 CASE4 1 ! 688: 1836 CASE2 119 ! 689: 1838 "listsolution" ! 690: 1852 LINO:120 ! 691: 1854 LV:2 -568 ! 692: 1858 RV4:2 -12 ! 693: 1862 INX4:1 1 30 ! 694: 1868 RV1:4 -17 ! 695: 1872 RANG2:1 3 ! 696: 1876 AS21 ! 697: 1878 LINO:121 ! 698: 1880 LV:2 -568 ! 699: 1884 CON1:30 ! 700: 1886 ADD24 ! 701: 1888 RV4:2 -12 ! 702: 1892 INX4:1 1 30 ! 703: 1898 RV1:4 -18 ! 704: 1902 RANG2:1 3 ! 705: 1906 AS21 ! 706: 1908 LINO:122 ! 707: 1910 LV:2 -568 ! 708: 1914 CON1:60 ! 709: 1916 ADD24 ! 710: 1918 RV4:2 -12 ! 711: 1922 INX4:1 1 30 ! 712: 1928 RV1:4 -19 ! 713: 1932 RANG2:1 3 ! 714: 1936 AS21 ! 715: 1938 LINO:123 ! 716: 1940 LV:2 -568 ! 717: 1944 CON1:90 ! 718: 1946 ADD24 ! 719: 1948 RV4:2 -12 ! 720: 1952 INX4:1 1 30 ! 721: 1958 RV1:4 -20 ! 722: 1962 RANG2:1 3 ! 723: 1966 AS21 ! 724: 1968 LINO:124 ! 725: 1970 LV:2 -12 ! 726: 1974 RV4:2 -12 ! 727: 1978 CON1:1 ! 728: 1980 ADD24 ! 729: 1982 AS4 ! 730: 1984 END ! 731: patch 1822 0 ! 732: 125 end; ! 733: ! 734: 127 begin ! 735: 128 halfindex := 1; ! 736: 129 for pair1 := one2 to five6 do ! 737: 130 for pair2 := one2 to five6 do ! 738: 131 for pair3 := one2 to five6 do ! 739: 132 for pair4 := one2 to five6 do ! 740: 133 if two222(pair1, pair2, pair3, pair4) then ! 741: 134 listsolution; ! 742: 135 if halfindex <= 2 then ! 743: 136 begin ! 744: 137 nosolutions := true; ! 745: 138 goto 1; ! 746: 139 end; ! 747: patch 1456 1986 ! 748: 1986 BEG:24 0 ! 749: 1992 CASE4 0 ! 750: 1996 CASE4 1 ! 751: 2000 CASE2 127 ! 752: 2002 "find2222" ! 753: 2012 LINO 128 ! 754: 2016 LV:2 -12 ! 755: 2020 CON1:1 ! 756: 2022 AS24 ! 757: 2024 LINO 129 ! 758: 2028 LV:4 -24 ! 759: 2032 CON1:1 ! 760: 2034 AS24 ! 761: 2036 LV:4 -28 ! 762: 2040 CON1:3 ! 763: 2042 AS24 ! 764: 2044 RV4:4 -24 ! 765: 2048 RV4:4 -28 ! 766: 2052 REL4 LE ! 767: 2054 IF -2 ! 768: 2058 LV:4 -29 ! 769: 2062 RV4:4 -28 ! 770: 2066 RANG42:1 3 ! 771: 2070 AS41 ! 772: 2072 LV:4 -29 ! 773: 2076 RV4:4 -24 ! 774: 2080 RANG42:1 3 ! 775: 2084 AS41 ! 776: 2086 LV:4 -17 ! 777: 2090 RV14:4 -29 ! 778: 2094 AS41 ! 779: 2096 LINO 130 ! 780: 2100 LV:4 -36 ! 781: 2104 CON1:1 ! 782: 2106 AS24 ! 783: 2108 LV:4 -40 ! 784: 2112 CON1:3 ! 785: 2114 AS24 ! 786: 2116 RV4:4 -36 ! 787: 2120 RV4:4 -40 ! 788: 2124 REL4 LE ! 789: 2126 IF -2 ! 790: 2130 LV:4 -41 ! 791: 2134 RV4:4 -40 ! 792: 2138 RANG42:1 3 ! 793: 2142 AS41 ! 794: 2144 LV:4 -41 ! 795: 2148 RV4:4 -36 ! 796: 2152 RANG42:1 3 ! 797: 2156 AS41 ! 798: 2158 LV:4 -18 ! 799: 2162 RV14:4 -41 ! 800: 2166 AS41 ! 801: 2168 LINO 131 ! 802: 2172 LV:4 -48 ! 803: 2176 CON1:1 ! 804: 2178 AS24 ! 805: 2180 LV:4 -52 ! 806: 2184 CON1:3 ! 807: 2186 AS24 ! 808: 2188 RV4:4 -48 ! 809: 2192 RV4:4 -52 ! 810: 2196 REL4 LE ! 811: 2198 IF -2 ! 812: 2202 LV:4 -53 ! 813: 2206 RV4:4 -52 ! 814: 2210 RANG42:1 3 ! 815: 2214 AS41 ! 816: 2216 LV:4 -53 ! 817: 2220 RV4:4 -48 ! 818: 2224 RANG42:1 3 ! 819: 2228 AS41 ! 820: 2230 LV:4 -19 ! 821: 2234 RV14:4 -53 ! 822: 2238 AS41 ! 823: 2240 LINO 132 ! 824: 2244 LV:4 -60 ! 825: 2248 CON1:1 ! 826: 2250 AS24 ! 827: 2252 LV:4 -64 ! 828: 2256 CON1:3 ! 829: 2258 AS24 ! 830: 2260 RV4:4 -60 ! 831: 2264 RV4:4 -64 ! 832: 2268 REL4 LE ! 833: 2270 IF -2 ! 834: 2274 LV:4 -65 ! 835: 2278 RV4:4 -64 ! 836: 2282 RANG42:1 3 ! 837: 2286 AS41 ! 838: 2288 LV:4 -65 ! 839: 2292 RV4:4 -60 ! 840: 2296 RANG42:1 3 ! 841: 2300 AS41 ! 842: 2302 LV:4 -20 ! 843: 2306 RV14:4 -65 ! 844: 2310 AS41 ! 845: 2312 LINO 133 ! 846: 2316 PUSH:-4 ! 847: 2318 RV1:4 -29 ! 848: 2322 RANG2:1 3 ! 849: 2326 RV1:4 -41 ! 850: 2330 RANG2:1 3 ! 851: 2334 RV1:4 -53 ! 852: 2338 RANG2:1 3 ! 853: 2342 RV1:4 -65 ! 854: 2346 RANG2:1 3 ! 855: 2350 CALL:2 1462 ! 856: 2356 IF -2 ! 857: 2360 LINO 134 ! 858: 2364 CALL:2 1814 ! 859: patch 2356 12 ! 860: 2370 LINO 132 ! 861: 2374 RV4:4 -64 ! 862: 2378 LV:4 -65 ! 863: 2382 FOR1U:-82 ! 864: patch 2270 112 ! 865: 2384 LINO 131 ! 866: 2388 RV4:4 -52 ! 867: 2392 LV:4 -53 ! 868: 2396 FOR1U -170 ! 869: patch 2198 200 ! 870: 2400 LINO 130 ! 871: 2404 RV4:4 -40 ! 872: 2408 LV:4 -41 ! 873: 2412 FOR1U -258 ! 874: patch 2126 288 ! 875: 2416 LINO 129 ! 876: 2420 RV4:4 -28 ! 877: 2424 LV:4 -29 ! 878: 2428 FOR1U -346 ! 879: patch 2054 376 ! 880: 2432 LINO 135 ! 881: 2436 RV4:2 -12 ! 882: 2440 CON1:2 ! 883: 2442 REL24 LE ! 884: 2444 IF -2 ! 885: 2448 LINO 137 ! 886: 2452 LV:2 -1 ! 887: 2456 CON1:1 ! 888: 2458 RSNG2:1 ! 889: 2460 AS21 ! 890: 2462 LINO 138 ! 891: 2466 TRA4 6 ! 892: patch 2444 26 ! 893: 2472 END ! 894: patch 1986 68 ! 895: 140 end; ! 896: 2474 TRA4 2474 ! 897: ! 898: 142 procedure simultaneous; ! 899: 143 var ! 900: 144 done: Boolean; ! 901: 145 begin ! 902: 146 nosolutions := false; ! 903: 147 pointr := 0; ! 904: 148 done := false; ! 905: 149 repeat ! 906: 150 pointr := pointr + 1; ! 907: 151 repeat ! 908: 152 index := succ(pointr); ! 909: 153 if (halfsolution[1, pointr]<>halfsolution[1,index]) and ! 910: 154 (halfsolution[2, pointr]<>halfsolution[2,index]) and ! 911: 155 (halfsolution[3, pointr]<>halfsolution[3,index]) and ! 912: 156 (halfsolution[4, pointr]<>halfsolution[4,index]) then ! 913: 157 done := true else ! 914: 158 index := index + 1; ! 915: 159 until done or (index = pred(halfindex)); ! 916: 160 until done or (pointr = halfindex); ! 917: 161 if pointr = halfindex then ! 918: 162 begin ! 919: 163 nosolutions := true; ! 920: 164 goto 1; ! 921: 165 end; ! 922: patch 2474 2482 ! 923: 2482 BEG:28 0 ! 924: 2488 CASE4 0 ! 925: 2492 CASE4 1 ! 926: 2496 CASE2 145 ! 927: 2498 "simultaneous" ! 928: 2512 LINO 146 ! 929: 2516 LV:2 -1 ! 930: 2520 CON1 ! 931: 2522 RSNG2:1 ! 932: 2524 AS21 ! 933: 2526 LINO 147 ! 934: 2530 LV:2 -16 ! 935: 2534 CON1 ! 936: 2536 AS24 ! 937: 2538 LINO 148 ! 938: 2542 LV:4 -1 ! 939: 2546 CON1 ! 940: 2548 RSNG2:1 ! 941: 2550 AS21 ! 942: 2552 LINO 150 ! 943: 2556 LV:2 -16 ! 944: 2560 RV4:2 -16 ! 945: 2564 CON1:1 ! 946: 2566 ADD24 ! 947: 2568 AS4 ! 948: 2570 LINO 152 ! 949: 2574 LV:2 -8 ! 950: 2578 RV4:2 -16 ! 951: 2582 SUCC4 -2147483648 2147483647 ! 952: 2592 AS4 ! 953: 2594 LINO 153 ! 954: 2598 LV:2 -568 ! 955: 2602 RV4:2 -16 ! 956: 2606 INX4:1 1 30 ! 957: 2612 IND1 ! 958: 2614 LV:2 -568 ! 959: 2618 RV4:2 -8 ! 960: 2622 INX4:1 1 30 ! 961: 2628 IND1 ! 962: 2630 REL2 NE ! 963: 2632 LV:2 -568 ! 964: 2636 CON1:30 ! 965: 2638 ADD24 ! 966: 2640 RV4:2 -16 ! 967: 2644 INX4:1 1 30 ! 968: 2650 IND1 ! 969: 2652 LV:2 -568 ! 970: 2656 CON1:30 ! 971: 2658 ADD24 ! 972: 2660 RV4:2 -8 ! 973: 2664 INX4:1 1 30 ! 974: 2670 IND1 ! 975: 2672 REL2 NE ! 976: 2674 AND ! 977: 2676 LV:2 -568 ! 978: 2680 CON1:60 ! 979: 2682 ADD24 ! 980: 2684 RV4:2 -16 ! 981: 2688 INX4:1 1 30 ! 982: 2694 IND1 ! 983: 2696 LV:2 -568 ! 984: 2700 CON1:60 ! 985: 2702 ADD24 ! 986: 2704 RV4:2 -8 ! 987: 2708 INX4:1 1 30 ! 988: 2714 IND1 ! 989: 2716 REL2 NE ! 990: 2718 AND ! 991: 2720 LV:2 -568 ! 992: 2724 CON1:90 ! 993: 2726 ADD24 ! 994: 2728 RV4:2 -16 ! 995: 2732 INX4:1 1 30 ! 996: 2738 IND1 ! 997: 2740 LV:2 -568 ! 998: 2744 CON1:90 ! 999: 2746 ADD24 ! 1000: 2748 RV4:2 -8 ! 1001: 2752 INX4:1 1 30 ! 1002: 2758 IND1 ! 1003: 2760 REL2 NE ! 1004: 2762 AND ! 1005: 2764 IF -2 ! 1006: 2768 LINO 157 ! 1007: 2772 LV:4 -1 ! 1008: 2776 CON1:1 ! 1009: 2778 RSNG2:1 ! 1010: 2780 AS21 ! 1011: 2782 TRA -2 ! 1012: patch 2764 20 ! 1013: 2786 LINO 158 ! 1014: 2790 LV:2 -8 ! 1015: 2794 RV4:2 -8 ! 1016: 2798 CON1:1 ! 1017: 2800 ADD24 ! 1018: 2802 AS4 ! 1019: patch 2782 20 ! 1020: 2804 RV1:4 -1 ! 1021: 2808 RV4:2 -8 ! 1022: 2812 RV4:2 -12 ! 1023: 2816 PRED4 -2147483648 2147483647 ! 1024: 2826 REL4 EQ ! 1025: 2828 OR ! 1026: 2830 IF -262 ! 1027: 2834 RV1:4 -1 ! 1028: 2838 RV4:2 -16 ! 1029: 2842 RV4:2 -12 ! 1030: 2846 REL4 EQ ! 1031: 2848 OR ! 1032: 2850 IF -300 ! 1033: 2854 LINO 161 ! 1034: 2858 RV4:2 -16 ! 1035: 2862 RV4:2 -12 ! 1036: 2866 REL4 EQ ! 1037: 2868 IF -2 ! 1038: 2872 LINO 163 ! 1039: 2876 LV:2 -1 ! 1040: 2880 CON1:1 ! 1041: 2882 RSNG2:1 ! 1042: 2884 AS21 ! 1043: 2886 LINO 164 ! 1044: 2890 TRA4 6 ! 1045: patch 2868 26 ! 1046: 2896 END ! 1047: patch 2482 4 ! 1048: 166 end; ! 1049: 2898 TRA4 2898 ! 1050: ! 1051: 168 procedure rearrange; ! 1052: 169 var ! 1053: 170 box: blockno; ! 1054: 171 a, b: pair; ! 1055: 2904 TRA4 2904 ! 1056: ! 1057: 173 procedure put(a, b: pair); ! 1058: 174 var ! 1059: 175 old1, new1, old2, new2: face; ! 1060: 176 save1, save2: alfa; ! 1061: 2910 TRA4 2910 ! 1062: ! 1063: 178 procedure oldpair(c: pair); ! 1064: 179 begin ! 1065: 180 case c of ! 1066: 181 one2: ! 1067: 182 begin ! 1068: 183 old1 := front; ! 1069: 184 old2 := back; ! 1070: 185 end; ! 1071: 186 three4: ! 1072: 187 begin ! 1073: 188 old1 := top; ! 1074: 189 old2 := bottom; ! 1075: 190 end; ! 1076: 191 five6: ! 1077: 192 begin ! 1078: 193 old1 := left; ! 1079: 194 old2 := right; ! 1080: 195 end ! 1081: 196 end; ! 1082: patch 2910 2918 ! 1083: 2918 BEG:22 0 ! 1084: 2924 CASE4 4 ! 1085: 2928 CASE4 1 ! 1086: 2932 CASE2 179 ! 1087: 2934 "oldpair" ! 1088: 2942 LINO 180 ! 1089: 2946 RV1:9 33 ! 1090: 2950 CASE1OP:3 ! 1091: 2952 .=.+6 ! 1092: 2958 CASE1 1 ! 1093: 2959 CASE1 2 ! 1094: 2960 CASE1 3 ! 1095: 2962 TRA -2 ! 1096: patch 2950 14 ! 1097: 2966 LINO 183 ! 1098: 2970 LV:6 -1 ! 1099: 2974 CON1:1 ! 1100: 2976 RANG2:1 6 ! 1101: 2980 AS21 ! 1102: 2982 LINO 184 ! 1103: 2986 LV:6 -3 ! 1104: 2990 CON1:2 ! 1105: 2992 RANG2:1 6 ! 1106: 2996 AS21 ! 1107: 2998 TRA -38 ! 1108: patch 2952 50 ! 1109: 3002 LINO 188 ! 1110: 3006 LV:6 -1 ! 1111: 3010 CON1:3 ! 1112: 3012 RANG2:1 6 ! 1113: 3016 AS21 ! 1114: 3018 LINO 189 ! 1115: 3022 LV:6 -3 ! 1116: 3026 CON1:4 ! 1117: 3028 RANG2:1 6 ! 1118: 3032 AS21 ! 1119: 3034 TRA -74 ! 1120: patch 2954 86 ! 1121: 3038 LINO 193 ! 1122: 3042 LV:6 -1 ! 1123: 3046 CON1:5 ! 1124: 3048 RANG2:1 6 ! 1125: 3052 AS21 ! 1126: 3054 LINO 194 ! 1127: 3058 LV:6 -3 ! 1128: 3062 CON1:6 ! 1129: 3064 RANG2:1 6 ! 1130: 3068 AS21 ! 1131: 3070 TRA -110 ! 1132: patch 2962 110 ! 1133: 3074 END ! 1134: patch 2918 0 ! 1135: 197 end; ! 1136: 3076 TRA4 3076 ! 1137: 198 procedure newpair(d: pair); ! 1138: 199 begin ! 1139: 200 oldpair(b); ! 1140: 201 new1 := old1; ! 1141: 202 new2 := old2; ! 1142: patch 3076 3082 ! 1143: 3082 BEG:22 0 ! 1144: 3088 CASE4 4 ! 1145: 3092 CASE4 1 ! 1146: 3096 CASE2 199 ! 1147: 3098 "newpair" ! 1148: 3106 LINO 200 ! 1149: 3110 RV1:7 33 ! 1150: 3114 RANG2:1 3 ! 1151: 3118 CALL:3 2910 ! 1152: 3124 LINO 201 ! 1153: 3128 LV:6 -2 ! 1154: 3132 RV1:6 -1 ! 1155: 3136 RANG2:1 6 ! 1156: 3140 AS21 ! 1157: 3142 LINO 202 ! 1158: 3146 LV:6 -4 ! 1159: 3150 RV1:6 -3 ! 1160: 3154 RANG2:1 6 ! 1161: 3158 AS21 ! 1162: 203 end; ! 1163: In procedure newpair: ! 1164: w - variable d is never used ! 1165: 3160 END ! 1166: patch 3082 0 ! 1167: ! 1168: 205 begin ! 1169: 206 newpair(b); ! 1170: 207 oldpair(a); ! 1171: 208 save1 := datas[box, new1]; ! 1172: 209 datas[box, new1] := datas[box, old1]; ! 1173: 210 datas[box, old1] := save1; ! 1174: 211 save2 := datas[box, new2]; ! 1175: 212 datas[box, new2] := datas[box, old2]; ! 1176: 213 datas[box, old2] := save2; ! 1177: patch 2904 3162 ! 1178: 3162 BEG:18 0 ! 1179: 3168 CASE4 8 ! 1180: 3172 CASE4 1 ! 1181: 3176 CASE2 205 ! 1182: 3178 "put" ! 1183: 3182 LINO 206 ! 1184: 3186 RV1:7 33 ! 1185: 3190 RANG2:1 3 ! 1186: 3194 CALL:3 3076 ! 1187: 3200 LINO 207 ! 1188: 3204 RV1:7 37 ! 1189: 3208 RANG2:1 3 ! 1190: 3212 CALL:3 2910 ! 1191: 3218 LINO 208 ! 1192: 3222 LV:6 -16 ! 1193: 3226 LV:2 -256 ! 1194: 3230 RV1:4 -1 ! 1195: 3234 INX2:60 1 4 ! 1196: 3240 RV1:6 -2 ! 1197: 3244 INX2:10 1 6 ! 1198: 3250 IND:10 ! 1199: 3252 AS:10 ! 1200: 3254 LINO 209 ! 1201: 3258 LV:2 -256 ! 1202: 3262 RV1:4 -1 ! 1203: 3266 INX2:60 1 4 ! 1204: 3272 RV1:6 -2 ! 1205: 3276 INX2:10 1 6 ! 1206: 3282 LV:2 -256 ! 1207: 3286 RV1:4 -1 ! 1208: 3290 INX2:60 1 4 ! 1209: 3296 RV1:6 -1 ! 1210: 3300 INX2:10 1 6 ! 1211: 3306 IND:10 ! 1212: 3308 AS:10 ! 1213: 3310 LINO 210 ! 1214: 3314 LV:2 -256 ! 1215: 3318 RV1:4 -1 ! 1216: 3322 INX2:60 1 4 ! 1217: 3328 RV1:6 -1 ! 1218: 3332 INX2:10 1 6 ! 1219: 3338 RV:6 -16 10 ! 1220: 3344 AS:10 ! 1221: 3346 LINO 211 ! 1222: 3350 LV:6 -28 ! 1223: 3354 LV:2 -256 ! 1224: 3358 RV1:4 -1 ! 1225: 3362 INX2:60 1 4 ! 1226: 3368 RV1:6 -4 ! 1227: 3372 INX2:10 1 6 ! 1228: 3378 IND:10 ! 1229: 3380 AS:10 ! 1230: 3382 LINO 212 ! 1231: 3386 LV:2 -256 ! 1232: 3390 RV1:4 -1 ! 1233: 3394 INX2:60 1 4 ! 1234: 3400 RV1:6 -4 ! 1235: 3404 INX2:10 1 6 ! 1236: 3410 LV:2 -256 ! 1237: 3414 RV1:4 -1 ! 1238: 3418 INX2:60 1 4 ! 1239: 3424 RV1:6 -3 ! 1240: 3428 INX2:10 1 6 ! 1241: 3434 IND:10 ! 1242: 3436 AS:10 ! 1243: 3438 LINO 213 ! 1244: 3442 LV:2 -256 ! 1245: 3446 RV1:4 -1 ! 1246: 3450 INX2:60 1 4 ! 1247: 3456 RV1:6 -3 ! 1248: 3460 INX2:10 1 6 ! 1249: 3466 RV:6 -28 10 ! 1250: 3472 AS:10 ! 1251: 3474 END ! 1252: patch 3162 28 ! 1253: 214 end; ! 1254: ! 1255: 216 begin ! 1256: 217 for box := 1 to 4 do ! 1257: 218 begin ! 1258: 219 a := halfsolution[box, pointr]; ! 1259: 220 b := halfsolution[box, index]; ! 1260: 221 if (a=one2) and (b=five6) then ! 1261: 222 put(five6, three4) else ! 1262: 223 begin ! 1263: 224 if a = three4 then ! 1264: 225 begin ! 1265: 226 if b = one2 then ! 1266: 227 begin ! 1267: 228 put(one2, five6); ! 1268: 229 put(three4, one2); ! 1269: 230 put(five6, three4); ! 1270: 231 end else ! 1271: 232 begin ! 1272: 233 put(three4, one2); ! 1273: 234 put(five6, three4); ! 1274: 235 end ! 1275: 236 end else ! 1276: 237 if b = one2 then ! 1277: 238 begin ! 1278: 239 put(one2, three4); ! 1279: 240 put(five6, one2); ! 1280: 241 end else ! 1281: 242 put(five6, one2); ! 1282: 243 end; ! 1283: 244 end; ! 1284: patch 2898 3478 ! 1285: 3478 BEG:24 0 ! 1286: 3484 CASE4 0 ! 1287: 3488 CASE4 1 ! 1288: 3492 CASE2 216 ! 1289: 3494 "rearrange" ! 1290: 3504 LINO 217 ! 1291: 3508 LV:4 -8 ! 1292: 3512 CON1:1 ! 1293: 3514 AS24 ! 1294: 3516 LV:4 -12 ! 1295: 3520 CON1:4 ! 1296: 3522 AS24 ! 1297: 3524 RV4:4 -8 ! 1298: 3528 RV4:4 -12 ! 1299: 3532 REL4 LE ! 1300: 3534 IF -2 ! 1301: 3538 LV:4 -13 ! 1302: 3542 RV4:4 -12 ! 1303: 3546 RANG42:1 4 ! 1304: 3550 AS41 ! 1305: 3552 LV:4 -13 ! 1306: 3556 RV4:4 -8 ! 1307: 3560 RANG42:1 4 ! 1308: 3564 AS41 ! 1309: 3566 LV:4 -1 ! 1310: 3570 RV14:4 -13 ! 1311: 3574 AS41 ! 1312: 3576 LINO 219 ! 1313: 3580 LV:4 -2 ! 1314: 3584 LV:2 -568 ! 1315: 3588 RV1:4 -13 ! 1316: 3592 INX2:30 1 4 ! 1317: 3598 RV4:2 -16 ! 1318: 3602 INX4:1 1 30 ! 1319: 3608 IND1 ! 1320: 3610 RANG2:1 3 ! 1321: 3614 AS21 ! 1322: 3616 LINO 220 ! 1323: 3620 LV:4 -3 ! 1324: 3624 LV:2 -568 ! 1325: 3628 RV1:4 -13 ! 1326: 3632 INX2:30 1 4 ! 1327: 3638 RV4:2 -8 ! 1328: 3642 INX4:1 1 30 ! 1329: 3648 IND1 ! 1330: 3650 RANG2:1 3 ! 1331: 3654 AS21 ! 1332: 3656 LINO 221 ! 1333: 3660 RV1:4 -2 ! 1334: 3664 CON1:1 ! 1335: 3666 REL2 EQ ! 1336: 3668 RV1:4 -3 ! 1337: 3672 CON1:3 ! 1338: 3674 REL2 EQ ! 1339: 3676 AND ! 1340: 3678 IF -2 ! 1341: 3682 LINO 222 ! 1342: 3686 CON1:3 ! 1343: 3688 RANG2:1 3 ! 1344: 3692 CON1:2 ! 1345: 3694 RANG2:1 3 ! 1346: 3698 CALL:2 2904 ! 1347: 3704 TRA -2 ! 1348: patch 3678 28 ! 1349: 3708 LINO 224 ! 1350: 3712 RV1:4 -2 ! 1351: 3716 CON1:2 ! 1352: 3718 REL2 EQ ! 1353: 3720 IF -2 ! 1354: 3724 LINO 226 ! 1355: 3728 RV1:4 -3 ! 1356: 3732 CON1:1 ! 1357: 3734 REL2 EQ ! 1358: 3736 IF -2 ! 1359: 3740 LINO 228 ! 1360: 3744 CON1:1 ! 1361: 3746 RANG2:1 3 ! 1362: 3750 CON1:3 ! 1363: 3752 RANG2:1 3 ! 1364: 3756 CALL:2 2904 ! 1365: 3762 LINO 229 ! 1366: 3766 CON1:2 ! 1367: 3768 RANG2:1 3 ! 1368: 3772 CON1:1 ! 1369: 3774 RANG2:1 3 ! 1370: 3778 CALL:2 2904 ! 1371: 3784 LINO 230 ! 1372: 3788 CON1:3 ! 1373: 3790 RANG2:1 3 ! 1374: 3794 CON1:2 ! 1375: 3796 RANG2:1 3 ! 1376: 3800 CALL:2 2904 ! 1377: 3806 TRA -2 ! 1378: patch 3736 72 ! 1379: 3810 LINO 233 ! 1380: 3814 CON1:2 ! 1381: 3816 RANG2:1 3 ! 1382: 3820 CON1:1 ! 1383: 3822 RANG2:1 3 ! 1384: 3826 CALL:2 2904 ! 1385: 3832 LINO 234 ! 1386: 3836 CON1:3 ! 1387: 3838 RANG2:1 3 ! 1388: 3842 CON1:2 ! 1389: 3844 RANG2:1 3 ! 1390: 3848 CALL:2 2904 ! 1391: patch 3806 46 ! 1392: 3854 TRA -2 ! 1393: patch 3720 136 ! 1394: 3858 LINO 237 ! 1395: 3862 RV1:4 -3 ! 1396: 3866 CON1:1 ! 1397: 3868 REL2 EQ ! 1398: 3870 IF -2 ! 1399: 3874 LINO 239 ! 1400: 3878 CON1:1 ! 1401: 3880 RANG2:1 3 ! 1402: 3884 CON1:2 ! 1403: 3886 RANG2:1 3 ! 1404: 3890 CALL:2 2904 ! 1405: 3896 LINO 240 ! 1406: 3900 CON1:3 ! 1407: 3902 RANG2:1 3 ! 1408: 3906 CON1:1 ! 1409: 3908 RANG2:1 3 ! 1410: 3912 CALL:2 2904 ! 1411: 3918 TRA -2 ! 1412: patch 3870 50 ! 1413: 3922 LINO 242 ! 1414: 3926 CON1:3 ! 1415: 3928 RANG2:1 3 ! 1416: 3932 CON1:1 ! 1417: 3934 RANG2:1 3 ! 1418: 3938 CALL:2 2904 ! 1419: patch 3918 24 ! 1420: patch 3854 88 ! 1421: patch 3704 238 ! 1422: 3944 LINO 217 ! 1423: 3948 RV4:4 -12 ! 1424: 3952 LV:4 -13 ! 1425: 3956 FOR1U -394 ! 1426: patch 3534 424 ! 1427: 3960 END ! 1428: patch 3478 16 ! 1429: 245 end; ! 1430: 3962 TRA4 3962 ! 1431: ! 1432: 247 procedure correct; ! 1433: 248 var ! 1434: 249 list: array[1..8] of integer; ! 1435: 250 done: Boolean; ! 1436: 251 side: face; ! 1437: 252 counter: integer; ! 1438: 3968 TRA4 3968 ! 1439: ! 1440: 254 procedure check; ! 1441: 255 var ! 1442: 256 delux: array[red..white] of integer; ! 1443: 257 kolor: color; ! 1444: 258 counter: integer; ! 1445: 259 begin ! 1446: 260 done := true; ! 1447: 261 for kolor := red to white do ! 1448: 262 for counter := 1 to 4 do ! 1449: 263 delux[kolor] := 0; ! 1450: 264 for counter := 1 to 4 do ! 1451: 265 begin ! 1452: 266 delux[word(datas[counter,side])] := ! 1453: 267 delux[word(datas[counter,side])] + 1; ! 1454: 268 if delux[word(datas[counter,side])] >= 2 then ! 1455: 269 done := false; ! 1456: 270 end; ! 1457: patch 3968 3974 ! 1458: 3974 BEG:20 0 ! 1459: 3980 CASE4 0 ! 1460: 3984 CASE4 1 ! 1461: 3988 CASE2 259 ! 1462: 3990 "check" ! 1463: 3996 LINO 260 ! 1464: 4000 LV:4 -33 ! 1465: 4004 CON1:1 ! 1466: 4006 RSNG2:1 ! 1467: 4008 AS21 ! 1468: 4010 LINO 261 ! 1469: 4014 LV:6 -28 ! 1470: 4018 CON1:1 ! 1471: 4020 AS24 ! 1472: 4022 LV:6 -32 ! 1473: 4026 CON1:4 ! 1474: 4028 AS24 ! 1475: 4030 RV4:6 -28 ! 1476: 4034 RV4:6 -32 ! 1477: 4038 REL4 LE ! 1478: 4040 IF -2 ! 1479: 4044 LV:6 -33 ! 1480: 4048 RV4:6 -32 ! 1481: 4052 RANG42:1 4 ! 1482: 4056 AS41 ! 1483: 4058 LV:6 -33 ! 1484: 4062 RV4:6 -28 ! 1485: 4066 RANG42:1 4 ! 1486: 4070 AS41 ! 1487: 4072 LV:6 -17 ! 1488: 4076 RV14:6 -33 ! 1489: 4080 AS41 ! 1490: 4082 LINO 262 ! 1491: 4086 LV:6 -40 ! 1492: 4090 CON1:1 ! 1493: 4092 AS24 ! 1494: 4094 LV:6 -44 ! 1495: 4098 CON1:4 ! 1496: 4100 AS24 ! 1497: 4102 RV4:6 -40 ! 1498: 4106 RV4:6 -44 ! 1499: 4110 REL4 LE ! 1500: 4112 IF -2 ! 1501: 4116 LV:6 -48 ! 1502: 4120 RV4:6 -44 ! 1503: 4124 AS4 ! 1504: 4126 LV:6 -48 ! 1505: 4130 RV4:6 -40 ! 1506: 4134 AS4 ! 1507: 4136 LV:6 -24 ! 1508: 4140 RV4:6 -48 ! 1509: 4144 AS4 ! 1510: 4146 LINO 263 ! 1511: 4150 LV:6 -16 ! 1512: 4154 RV1:6 -33 ! 1513: 4158 INX2:4 1 4 ! 1514: 4164 CON1 ! 1515: 4166 AS24 ! 1516: 4168 LINO 262 ! 1517: 4172 RV4:6 -44 ! 1518: 4176 LV:6 -48 ! 1519: 4180 FOR4U:-46 ! 1520: patch 4112 68 ! 1521: 4182 LINO 261 ! 1522: 4186 RV4:6 -32 ! 1523: 4190 LV:6 -33 ! 1524: 4194 FOR1U:-124 ! 1525: patch 4040 154 ! 1526: 4196 LINO 264 ! 1527: 4200 LV:6 -52 ! 1528: 4204 CON1:1 ! 1529: 4206 AS24 ! 1530: 4208 LV:6 -56 ! 1531: 4212 CON1:4 ! 1532: 4214 AS24 ! 1533: 4216 RV4:6 -52 ! 1534: 4220 RV4:6 -56 ! 1535: 4224 REL4 LE ! 1536: 4226 IF -2 ! 1537: 4230 LV:6 -60 ! 1538: 4234 RV4:6 -56 ! 1539: 4238 AS4 ! 1540: 4240 LV:6 -60 ! 1541: 4244 RV4:6 -52 ! 1542: 4248 AS4 ! 1543: 4250 LV:6 -24 ! 1544: 4254 RV4:6 -60 ! 1545: 4258 AS4 ! 1546: 4260 LINO 266 ! 1547: 4264 LV:6 -16 ! 1548: 4268 PUSH:-4 ! 1549: 4270 LV:2 -256 ! 1550: 4274 RV4:6 -60 ! 1551: 4278 INX4:60 1 4 ! 1552: 4284 RV1:4 -34 ! 1553: 4288 INX2:10 1 6 ! 1554: 4294 IND:10 ! 1555: 4296 CALL:1 12 ! 1556: 4302 INX2:4 1 4 ! 1557: 4308 LV:6 -16 ! 1558: 4312 PUSH:-4 ! 1559: 4314 LV:2 -256 ! 1560: 4318 RV4:6 -60 ! 1561: 4322 INX4:60 1 4 ! 1562: 4328 RV1:4 -34 ! 1563: 4332 INX2:10 1 6 ! 1564: 4338 IND:10 ! 1565: 4340 CALL:1 12 ! 1566: 4346 INX2:4 1 4 ! 1567: 4352 IND4 ! 1568: 4354 CON1:1 ! 1569: 4356 ADD24 ! 1570: 4358 AS4 ! 1571: 4360 LINO 268 ! 1572: 4364 LV:6 -16 ! 1573: 4368 PUSH:-4 ! 1574: 4370 LV:2 -256 ! 1575: 4374 RV4:6 -60 ! 1576: 4378 INX4:60 1 4 ! 1577: 4384 RV1:4 -34 ! 1578: 4388 INX2:10 1 6 ! 1579: 4394 IND:10 ! 1580: 4396 CALL:1 12 ! 1581: 4402 INX2:4 1 4 ! 1582: 4408 IND4 ! 1583: 4410 CON1:2 ! 1584: 4412 REL24 GE ! 1585: 4414 IF -2 ! 1586: 4418 LINO 269 ! 1587: 4422 LV:4 -33 ! 1588: 4426 CON1 ! 1589: 4428 RSNG2:1 ! 1590: 4430 AS21 ! 1591: patch 4414 16 ! 1592: 4432 LINO 264 ! 1593: 4436 RV4:6 -56 ! 1594: 4440 LV:6 -60 ! 1595: 4444 FOR4U -198 ! 1596: patch 4226 220 ! 1597: 4448 END ! 1598: patch 3974 60 ! 1599: 271 end; ! 1600: 4450 TRA4 4450 ! 1601: ! 1602: 273 procedure rotate; ! 1603: 274 var ! 1604: 275 save: alfa; ! 1605: 276 opposite: face; ! 1606: 277 begin ! 1607: 278 if side = back then ! 1608: 279 opposite := front else ! 1609: 280 if side = front then ! 1610: 281 opposite := back else ! 1611: 282 if side = top then ! 1612: 283 opposite := bottom else ! 1613: 284 if side = bottom then ! 1614: 285 opposite := top; ! 1615: 286 save := datas[list[counter], side]; ! 1616: 287 datas[list[counter], side] := datas[list[counter], opposite]; ! 1617: 288 datas[list[counter], opposite] := save; ! 1618: patch 4450 4458 ! 1619: 4458 BEG:22 0 ! 1620: 4464 CASE4 0 ! 1621: 4468 CASE4 1 ! 1622: 4472 CASE2 277 ! 1623: 4474 "rotate" ! 1624: 4482 LINO 278 ! 1625: 4486 RV1:4 -34 ! 1626: 4490 CON1:2 ! 1627: 4492 REL2 EQ ! 1628: 4494 IF -2 ! 1629: 4498 LINO 279 ! 1630: 4502 LV:6 -13 ! 1631: 4506 CON1:1 ! 1632: 4508 RANG2:1 6 ! 1633: 4512 AS21 ! 1634: 4514 TRA -2 ! 1635: patch 4494 22 ! 1636: 4518 LINO 280 ! 1637: 4522 RV1:4 -34 ! 1638: 4526 CON1:1 ! 1639: 4528 REL2 EQ ! 1640: 4530 IF -2 ! 1641: 4534 LINO 281 ! 1642: 4538 LV:6 -13 ! 1643: 4542 CON1:2 ! 1644: 4544 RANG2:1 6 ! 1645: 4548 AS21 ! 1646: 4550 TRA -2 ! 1647: patch 4530 22 ! 1648: 4554 LINO 282 ! 1649: 4558 RV1:4 -34 ! 1650: 4562 CON1:3 ! 1651: 4564 REL2 EQ ! 1652: 4566 IF -2 ! 1653: 4570 LINO 283 ! 1654: 4574 LV:6 -13 ! 1655: 4578 CON1:4 ! 1656: 4580 RANG2:1 6 ! 1657: 4584 AS21 ! 1658: 4586 TRA -2 ! 1659: patch 4566 22 ! 1660: 4590 LINO 284 ! 1661: 4594 RV1:4 -34 ! 1662: 4598 CON1:4 ! 1663: 4600 REL2 EQ ! 1664: 4602 IF -2 ! 1665: 4606 LINO 285 ! 1666: 4610 LV:6 -13 ! 1667: 4614 CON1:3 ! 1668: 4616 RANG2:1 6 ! 1669: 4620 AS21 ! 1670: patch 4602 18 ! 1671: patch 4586 34 ! 1672: patch 4550 70 ! 1673: patch 4514 106 ! 1674: 4622 LINO 286 ! 1675: 4626 LV:6 -12 ! 1676: 4630 LV:2 -256 ! 1677: 4634 LV:4 -32 ! 1678: 4638 RV4:4 -40 ! 1679: 4642 INX4:4 1 8 ! 1680: 4648 IND4 ! 1681: 4650 INX4:60 1 4 ! 1682: 4656 RV1:4 -34 ! 1683: 4660 INX2:10 1 6 ! 1684: 4666 IND:10 ! 1685: 4668 AS:10 ! 1686: 4670 LINO 287 ! 1687: 4674 LV:2 -256 ! 1688: 4678 LV:4 -32 ! 1689: 4682 RV4:4 -40 ! 1690: 4686 INX4:4 1 8 ! 1691: 4692 IND4 ! 1692: 4694 INX4:60 1 4 ! 1693: 4700 RV1:4 -34 ! 1694: 4704 INX2:10 1 6 ! 1695: 4710 LV:2 -256 ! 1696: 4714 LV:4 -32 ! 1697: 4718 RV4:4 -40 ! 1698: 4722 INX4:4 1 8 ! 1699: 4728 IND4 ! 1700: 4730 INX4:60 1 4 ! 1701: 4736 RV1:6 -13 ! 1702: 4740 INX2:10 1 6 ! 1703: 4746 IND:10 ! 1704: 4748 AS:10 ! 1705: 4750 LINO 288 ! 1706: 4754 LV:2 -256 ! 1707: 4758 LV:4 -32 ! 1708: 4762 RV4:4 -40 ! 1709: 4766 INX4:4 1 8 ! 1710: 4772 IND4 ! 1711: 4774 INX4:60 1 4 ! 1712: 4780 RV1:6 -13 ! 1713: 4784 INX2:10 1 6 ! 1714: 4790 RV:6 -12 10 ! 1715: 4796 AS:10 ! 1716: 4798 END ! 1717: patch 4458 16 ! 1718: 289 end; ! 1719: ! 1720: 291 begin ! 1721: 292 list[1] := 4; ! 1722: 293 list[2] := 3; ! 1723: 294 list[3] := 4; ! 1724: 295 list[4] := 2; ! 1725: 296 list[5] := 4; ! 1726: 297 list[6] := 3; ! 1727: 298 list[7] := 4; ! 1728: 299 list[8] := 3; ! 1729: 300 for side := back to top do ! 1730: 301 begin ! 1731: 302 counter := 0; ! 1732: 303 check; ! 1733: 304 while not done do ! 1734: 305 begin ! 1735: 306 counter := counter + 1; ! 1736: 307 rotate; ! 1737: 308 check; ! 1738: 309 end; ! 1739: 310 end ! 1740: patch 3962 4802 ! 1741: 4802 BEG:22 0 ! 1742: 4808 CASE4 0 ! 1743: 4812 CASE4 1 ! 1744: 4816 CASE2 291 ! 1745: 4818 "correct" ! 1746: 4826 LINO 292 ! 1747: 4830 LV:4 -32 ! 1748: 4834 CON1:4 ! 1749: 4836 AS24 ! 1750: 4838 LINO 293 ! 1751: 4842 LV:4 -32 ! 1752: 4846 CON1:4 ! 1753: 4848 ADD24 ! 1754: 4850 CON1:3 ! 1755: 4852 AS24 ! 1756: 4854 LINO 294 ! 1757: 4858 LV:4 -32 ! 1758: 4862 CON1:8 ! 1759: 4864 ADD24 ! 1760: 4866 CON1:4 ! 1761: 4868 AS24 ! 1762: 4870 LINO 295 ! 1763: 4874 LV:4 -32 ! 1764: 4878 CON1:12 ! 1765: 4880 ADD24 ! 1766: 4882 CON1:2 ! 1767: 4884 AS24 ! 1768: 4886 LINO 296 ! 1769: 4890 LV:4 -32 ! 1770: 4894 CON1:16 ! 1771: 4896 ADD24 ! 1772: 4898 CON1:4 ! 1773: 4900 AS24 ! 1774: 4902 LINO 297 ! 1775: 4906 LV:4 -32 ! 1776: 4910 CON1:20 ! 1777: 4912 ADD24 ! 1778: 4914 CON1:3 ! 1779: 4916 AS24 ! 1780: 4918 LINO 298 ! 1781: 4922 LV:4 -32 ! 1782: 4926 CON1:24 ! 1783: 4928 ADD24 ! 1784: 4930 CON1:4 ! 1785: 4932 AS24 ! 1786: 4934 LINO 299 ! 1787: 4938 LV:4 -32 ! 1788: 4942 CON1:28 ! 1789: 4944 ADD24 ! 1790: 4946 CON1:3 ! 1791: 4948 AS24 ! 1792: 4950 LINO 300 ! 1793: 4954 LV:4 -44 ! 1794: 4958 CON1:2 ! 1795: 4960 AS24 ! 1796: 4962 LV:4 -48 ! 1797: 4966 CON1:3 ! 1798: 4968 AS24 ! 1799: 4970 RV4:4 -44 ! 1800: 4974 RV4:4 -48 ! 1801: 4978 REL4 LE ! 1802: 4980 IF -2 ! 1803: 4984 LV:4 -49 ! 1804: 4988 RV4:4 -48 ! 1805: 4992 RANG42:1 6 ! 1806: 4996 AS41 ! 1807: 4998 LV:4 -49 ! 1808: 5002 RV4:4 -44 ! 1809: 5006 RANG42:1 6 ! 1810: 5010 AS41 ! 1811: 5012 LV:4 -34 ! 1812: 5016 RV14:4 -49 ! 1813: 5020 AS41 ! 1814: 5022 LINO 302 ! 1815: 5026 LV:4 -40 ! 1816: 5030 CON1 ! 1817: 5032 AS24 ! 1818: 5034 LINO 303 ! 1819: 5038 CALL:2 3968 ! 1820: 5044 LINO 304 ! 1821: 5048 RV1:4 -33 ! 1822: 5052 NOT ! 1823: 5054 IF -2 ! 1824: 5058 LINO 306 ! 1825: 5062 LV:4 -40 ! 1826: 5066 RV4:4 -40 ! 1827: 5070 CON1:1 ! 1828: 5072 ADD24 ! 1829: 5074 AS4 ! 1830: 5076 LINO 307 ! 1831: 5080 CALL:2 4450 ! 1832: 5086 LINO 308 ! 1833: 5090 CALL:2 3968 ! 1834: 5096 TRA -54 ! 1835: patch 5054 44 ! 1836: 5100 LINO 300 ! 1837: 5104 RV4:4 -48 ! 1838: 5108 LV:4 -49 ! 1839: 5112 FOR1U:-102 ! 1840: patch 4980 132 ! 1841: 5114 END ! 1842: patch 4802 52 ! 1843: 311 end; ! 1844: 5116 TRA4 5116 ! 1845: ! 1846: 313 procedure printout; ! 1847: 314 var ! 1848: 315 space: integer; ! 1849: 316 cube: integer; ! 1850: 317 side: face; ! 1851: 318 begin ! 1852: 319 if nosolutions then ! 1853: 320 writeln('no solutions') else ! 1854: 321 begin ! 1855: 322 writeln('solution to instant insanity'); ! 1856: 323 for cube := 1 to 4 do ! 1857: 324 begin ! 1858: 325 write(cube, ' '); ! 1859: 326 for side := front to bottom do ! 1860: 327 write(datas[cube, side]); ! 1861: 328 writeln; ! 1862: 329 end; ! 1863: 330 end; ! 1864: patch 5116 5122 ! 1865: 5122 BEG:24 0 ! 1866: 5128 CASE4 0 ! 1867: 5132 CASE4 1 ! 1868: 5136 CASE2 318 ! 1869: 5138 "printout" ! 1870: 5148 LINO 319 ! 1871: 5152 RV1:2 -1 ! 1872: 5156 IF -2 ! 1873: 5160 LINO 320 ! 1874: 5164 UNITOUT ! 1875: 5166 FILE ! 1876: 5168 CON14:1 ! 1877: 5170 CON14:12 ! 1878: 5172 LVCON:14 ! 1879: 5174 "no solutions" ! 1880: 5188 WRITES:16 ! 1881: 5190 WRITLN ! 1882: 5192 TRA -2 ! 1883: patch 5156 38 ! 1884: 5196 LINO 322 ! 1885: 5200 UNITOUT ! 1886: 5202 FILE ! 1887: 5204 CON14:1 ! 1888: 5206 CON14:28 ! 1889: 5208 LVCON:30 ! 1890: 5210 "solution to instant insanity" ! 1891: 5240 WRITES:16 ! 1892: 5242 WRITLN ! 1893: 5244 LINO 323 ! 1894: 5248 LV:4 -16 ! 1895: 5252 CON1:1 ! 1896: 5254 AS24 ! 1897: 5256 LV:4 -20 ! 1898: 5260 CON1:4 ! 1899: 5262 AS24 ! 1900: 5264 RV4:4 -16 ! 1901: 5268 RV4:4 -20 ! 1902: 5272 REL4 LE ! 1903: 5274 IF -2 ! 1904: 5278 LV:4 -24 ! 1905: 5282 RV4:4 -20 ! 1906: 5286 AS4 ! 1907: 5288 LV:4 -24 ! 1908: 5292 RV4:4 -16 ! 1909: 5296 AS4 ! 1910: 5298 LV:4 -8 ! 1911: 5302 RV4:4 -24 ! 1912: 5306 AS4 ! 1913: 5308 LINO 325 ! 1914: 5312 UNITOUT ! 1915: 5314 RV4:4 -24 ! 1916: 5318 LVCON:6 ! 1917: 5320 "%10D" ! 1918: 5326 FILE ! 1919: 5328 WRITEF:12 ! 1920: 5330 FILE ! 1921: 5332 CON14:1 ! 1922: 5334 CON14:3 ! 1923: 5336 LVCON:4 ! 1924: 5338 " " ! 1925: 5342 WRITES:16 ! 1926: 5344 LINO 326 ! 1927: 5348 LV:4 -28 ! 1928: 5352 CON1:1 ! 1929: 5354 AS24 ! 1930: 5356 LV:4 -32 ! 1931: 5360 CON1:4 ! 1932: 5362 AS24 ! 1933: 5364 RV4:4 -28 ! 1934: 5368 RV4:4 -32 ! 1935: 5372 REL4 LE ! 1936: 5374 IF -2 ! 1937: 5378 LV:4 -33 ! 1938: 5382 RV4:4 -32 ! 1939: 5386 RANG42:1 6 ! 1940: 5390 AS41 ! 1941: 5392 LV:4 -33 ! 1942: 5396 RV4:4 -28 ! 1943: 5400 RANG42:1 6 ! 1944: 5404 AS41 ! 1945: 5406 LV:4 -9 ! 1946: 5410 RV14:4 -33 ! 1947: 5414 AS41 ! 1948: 5416 LINO 327 ! 1949: 5420 UNITOUT ! 1950: 5422 FILE ! 1951: 5424 CON14:1 ! 1952: 5426 CON14:10 ! 1953: 5428 LV:2 -256 ! 1954: 5432 RV4:4 -24 ! 1955: 5436 INX4:60 1 4 ! 1956: 5442 RV1:4 -33 ! 1957: 5446 INX2:10 1 6 ! 1958: 5452 WRITES:16 ! 1959: 5454 LINO 326 ! 1960: 5458 RV4:4 -32 ! 1961: 5462 LV:4 -33 ! 1962: 5466 FOR1U:-62 ! 1963: patch 5374 92 ! 1964: 5468 LINO 328 ! 1965: 5472 UNITOUT ! 1966: 5474 WRITLN ! 1967: 5476 LINO 323 ! 1968: 5480 RV4:4 -20 ! 1969: 5484 LV:4 -24 ! 1970: 5488 FOR4U -194 ! 1971: patch 5274 216 ! 1972: patch 5192 298 ! 1973: 331 end; ! 1974: In procedure printout: ! 1975: w - variable space is neither used nor set ! 1976: 5492 END ! 1977: patch 5122 36 ! 1978: ! 1979: 333 begin ! 1980: 334 reset(input); ! 1981: 335 readin; ! 1982: 336 sumcolors; ! 1983: 337 find2222; ! 1984: 338 simultaneous; ! 1985: 339 rearrange; ! 1986: 340 correct; ! 1987: 341 1: ! 1988: 342 printout; ! 1989: patch 0 5494 ! 1990: 5494 BEG:22 0 ! 1991: 5500 CASE4 0 ! 1992: 5504 CASE4 1 ! 1993: 5508 CASE2 333 ! 1994: 5510 "insane" ! 1995: 5518 LINO 334 ! 1996: 5522 CON14 ! 1997: 5524 CON14 ! 1998: 5526 CON4 0 ! 1999: 5532 RV4 -8 ! 2000: 5536 RESET ! 2001: 5538 LINO 335 ! 2002: 5542 CALL:1 200 ! 2003: 5548 LINO 336 ! 2004: 5552 CALL:1 620 ! 2005: 5558 LINO 337 ! 2006: 5562 CALL:1 1456 ! 2007: 5568 LINO 338 ! 2008: 5572 CALL:1 2474 ! 2009: 5578 LINO 339 ! 2010: 5582 CALL:1 2898 ! 2011: 5588 LINO 340 ! 2012: 5592 CALL:1 3962 ! 2013: patch 6 5598 ! 2014: 5598 LINO 342 ! 2015: 5602 CALL:1 5116 ! 2016: 343 end. ! 2017: In program insane: ! 2018: w - type metacolor is never used ! 2019: w - constant notacolor is never used ! 2020: w - type metapair is never used ! 2021: w - type metaface is never used ! 2022: w - constant notapair is never used ! 2023: w - constant notaface is never used ! 2024: 5608 END ! 2025: patch 5494 568 ! 2026: 344 { ! 2027: 345 wbggrb ! 2028: 346 wbrgrr ! 2029: 347 wbgwrg ! 2030: 348 wrgwbr ! 2031: 349 }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.