Annotation of 43BSDReno/pgrm/pascal/tstpx/src/old, revision 1.1

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  }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.