A quine is a self-referential program that can,
without any external access, output its own source.



A   quine   (named after Willard Van Orman Quine)   is also known as:

   self-reproducing automata   (1972)
   self-replicating program         or   self-replicating computer program
   self-reproducing program      or   self-reproducing computer program
   self-copying program             or   self-copying computer program


It is named after the philosopher and logician
who studied self-reference and quoting in natural language,
as for example in the paradox "'Yields falsehood when preceded by its quotation' yields falsehood when preceded by its quotation."

"Source" has one of two meanings. It can refer to the text-based program source.
For languages in which program source is represented as a data structure, "source" may refer to the data structure: quines in these languages fall into two categories: programs which print a textual representation of themselves, or expressions which evaluate to a data structure which is equivalent to that expression.

The usual way to code a quine works similarly to this paradox: The program consists of two identical parts, once as plain code and once quoted in some way (for example, as a character string, or a literal data structure). The plain code then accesses the quoted code and prints it out twice, once unquoted and once with the proper quotation marks added. Often, the plain code and the quoted code have to be nested.



Task

Write a program that outputs its own source code in this way. If the language allows it, you may add a variant that accesses the code directly. You are not allowed to read any external files with the source code. The program should also contain some sort of self-reference, so constant expressions which return their own value which some top-level interpreter will print out. Empty programs producing no output are not allowed.

There are several difficulties that one runs into when writing a quine, mostly dealing with quoting:

 Part of the code usually needs to be stored as a string or structural literal in the language, which needs to be quoted somehow. However, including quotation marks in the string literal itself would be troublesome because it requires them to be escaped, which then necessitates the escaping character (e.g. a backslash) in the string, which itself usually needs to be escaped, and so on.
 Some languages have a function for getting the "source code representation" of a string (i.e. adds quotation marks, etc.); in these languages, this can be used to circumvent the quoting problem.
 Another solution is to construct the quote character from its character code, without having to write the quote character itself. Then the character is inserted into the string at the appropriate places. The ASCII code for double-quote is 34, and for single-quote is 39.
 Newlines in the program may have to be reproduced as newlines in the string, which usually requires some kind of escape sequence (e.g. "\n"). This causes the same problem as above, where the escaping character needs to itself be escaped, etc.
 If the language has a way of getting the "source code representation", it usually handles the escaping of characters, so this is not a problem.
 Some languages allow you to have a string literal that spans multiple lines, which embeds the newlines into the string without escaping.
 Write the entire program on one line, for free-form languages (as you can see for some of the solutions here, they run off the edge of the screen), thus removing the need for newlines. However, this may be unacceptable as some languages require a newline at the end of the file; and otherwise it is still generally good style to have a newline at the end of a file. (The task is not clear on whether a newline is required at the end of the file.) Some languages have a print statement that appends a newline; which solves the newline-at-the-end issue; but others do not.

Next to the Quines presented here, many other versions can be found on the Quine page.



Related task

   print itself.


DATA:
  A IS NUMBER VECTOR
  C IS TEXT
  N IS NUMBER
  I IS NUMBER
  J IS NUMBER
PROCEDURE:
 
  SUB-PROCEDURE SHOWU
    STORE 0 IN I
    WHILE I IS LESS THAN N DO
        DISPLAY "  STORE "
        DISPLAY A:I
        DISPLAY " IN "
        DISPLAY " A:"
        DISPLAY I CRLF
        ADD I AND 1 IN I
    REPEAT
    DISPLAY "  STORE "
    DISPLAY N
    DISPLAY " IN N" CRLF
  END SUB-PROCEDURE
 
  SUB-PROCEDURE SHOW
    STORE 0 IN J
    WHILE J IS LESS THAN N DO
        IF A:J IS EQUAL TO 42 THEN
          CALL SUB-PROCEDURE SHOWU
        ELSE
          STORE CHARACTER A:J IN C
          DISPLAY C
        END-IF
        ADD J AND 1 IN J
    REPEAT
  END SUB-PROCEDURE
 
  STORE 10 IN  A:0
  STORE 68 IN  A:1
  STORE 65 IN  A:2
  STORE 84 IN  A:3
  STORE 65 IN  A:4
  STORE 58 IN  A:5
  STORE 10 IN  A:6
  STORE 32 IN  A:7
  STORE 32 IN  A:8
  STORE 65 IN  A:9
  STORE 32 IN  A:10
  STORE 73 IN  A:11
  STORE 83 IN  A:12
  STORE 32 IN  A:13
  STORE 78 IN  A:14
  STORE 85 IN  A:15
  STORE 77 IN  A:16
  STORE 66 IN  A:17
  STORE 69 IN  A:18
  STORE 82 IN  A:19
  STORE 32 IN  A:20
  STORE 86 IN  A:21
  STORE 69 IN  A:22
  STORE 67 IN  A:23
  STORE 84 IN  A:24
  STORE 79 IN  A:25
  STORE 82 IN  A:26
  STORE 10 IN  A:27
  STORE 32 IN  A:28
  STORE 32 IN  A:29
  STORE 67 IN  A:30
  STORE 32 IN  A:31
  STORE 73 IN  A:32
  STORE 83 IN  A:33
  STORE 32 IN  A:34
  STORE 84 IN  A:35
  STORE 69 IN  A:36
  STORE 88 IN  A:37
  STORE 84 IN  A:38
  STORE 10 IN  A:39
  STORE 32 IN  A:40
  STORE 32 IN  A:41
  STORE 78 IN  A:42
  STORE 32 IN  A:43
  STORE 73 IN  A:44
  STORE 83 IN  A:45
  STORE 32 IN  A:46
  STORE 78 IN  A:47
  STORE 85 IN  A:48
  STORE 77 IN  A:49
  STORE 66 IN  A:50
  STORE 69 IN  A:51
  STORE 82 IN  A:52
  STORE 10 IN  A:53
  STORE 32 IN  A:54
  STORE 32 IN  A:55
  STORE 73 IN  A:56
  STORE 32 IN  A:57
  STORE 73 IN  A:58
  STORE 83 IN  A:59
  STORE 32 IN  A:60
  STORE 78 IN  A:61
  STORE 85 IN  A:62
  STORE 77 IN  A:63
  STORE 66 IN  A:64
  STORE 69 IN  A:65
  STORE 82 IN  A:66
  STORE 10 IN  A:67
  STORE 32 IN  A:68
  STORE 32 IN  A:69
  STORE 74 IN  A:70
  STORE 32 IN  A:71
  STORE 73 IN  A:72
  STORE 83 IN  A:73
  STORE 32 IN  A:74
  STORE 78 IN  A:75
  STORE 85 IN  A:76
  STORE 77 IN  A:77
  STORE 66 IN  A:78
  STORE 69 IN  A:79
  STORE 82 IN  A:80
  STORE 10 IN  A:81
  STORE 80 IN  A:82
  STORE 82 IN  A:83
  STORE 79 IN  A:84
  STORE 67 IN  A:85
  STORE 69 IN  A:86
  STORE 68 IN  A:87
  STORE 85 IN  A:88
  STORE 82 IN  A:89
  STORE 69 IN  A:90
  STORE 58 IN  A:91
  STORE 10 IN  A:92
  STORE 10 IN  A:93
  STORE 32 IN  A:94
  STORE 32 IN  A:95
  STORE 83 IN  A:96
  STORE 85 IN  A:97
  STORE 66 IN  A:98
  STORE 45 IN  A:99
  STORE 80 IN  A:100
  STORE 82 IN  A:101
  STORE 79 IN  A:102
  STORE 67 IN  A:103
  STORE 69 IN  A:104
  STORE 68 IN  A:105
  STORE 85 IN  A:106
  STORE 82 IN  A:107
  STORE 69 IN  A:108
  STORE 32 IN  A:109
  STORE 83 IN  A:110
  STORE 72 IN  A:111
  STORE 79 IN  A:112
  STORE 87 IN  A:113
  STORE 85 IN  A:114
  STORE 10 IN  A:115
  STORE 32 IN  A:116
  STORE 32 IN  A:117
  STORE 32 IN  A:118
  STORE 32 IN  A:119
  STORE 83 IN  A:120
  STORE 84 IN  A:121
  STORE 79 IN  A:122
  STORE 82 IN  A:123
  STORE 69 IN  A:124
  STORE 32 IN  A:125
  STORE 48 IN  A:126
  STORE 32 IN  A:127
  STORE 73 IN  A:128
  STORE 78 IN  A:129
  STORE 32 IN  A:130
  STORE 73 IN  A:131
  STORE 10 IN  A:132
  STORE 32 IN  A:133
  STORE 32 IN  A:134
  STORE 32 IN  A:135
  STORE 32 IN  A:136
  STORE 87 IN  A:137
  STORE 72 IN  A:138
  STORE 73 IN  A:139
  STORE 76 IN  A:140
  STORE 69 IN  A:141
  STORE 32 IN  A:142
  STORE 73 IN  A:143
  STORE 32 IN  A:144
  STORE 73 IN  A:145
  STORE 83 IN  A:146
  STORE 32 IN  A:147
  STORE 76 IN  A:148
  STORE 69 IN  A:149
  STORE 83 IN  A:150
  STORE 83 IN  A:151
  STORE 32 IN  A:152
  STORE 84 IN  A:153
  STORE 72 IN  A:154
  STORE 65 IN  A:155
  STORE 78 IN  A:156
  STORE 32 IN  A:157
  STORE 78 IN  A:158
  STORE 32 IN  A:159
  STORE 68 IN  A:160
  STORE 79 IN  A:161
  STORE 10 IN  A:162
  STORE 32 IN  A:163
  STORE 32 IN  A:164
  STORE 32 IN  A:165
  STORE 32 IN  A:166
  STORE 32 IN  A:167
  STORE 32 IN  A:168
  STORE 32 IN  A:169
  STORE 32 IN  A:170
  STORE 68 IN  A:171
  STORE 73 IN  A:172
  STORE 83 IN  A:173
  STORE 80 IN  A:174
  STORE 76 IN  A:175
  STORE 65 IN  A:176
  STORE 89 IN  A:177
  STORE 32 IN  A:178
  STORE 34 IN  A:179
  STORE 32 IN  A:180
  STORE 32 IN  A:181
  STORE 83 IN  A:182
  STORE 84 IN  A:183
  STORE 79 IN  A:184
  STORE 82 IN  A:185
  STORE 69 IN  A:186
  STORE 32 IN  A:187
  STORE 34 IN  A:188
  STORE 10 IN  A:189
  STORE 32 IN  A:190
  STORE 32 IN  A:191
  STORE 32 IN  A:192
  STORE 32 IN  A:193
  STORE 32 IN  A:194
  STORE 32 IN  A:195
  STORE 32 IN  A:196
  STORE 32 IN  A:197
  STORE 68 IN  A:198
  STORE 73 IN  A:199
  STORE 83 IN  A:200
  STORE 80 IN  A:201
  STORE 76 IN  A:202
  STORE 65 IN  A:203
  STORE 89 IN  A:204
  STORE 32 IN  A:205
  STORE 65 IN  A:206
  STORE 58 IN  A:207
  STORE 73 IN  A:208
  STORE 10 IN  A:209
  STORE 32 IN  A:210
  STORE 32 IN  A:211
  STORE 32 IN  A:212
  STORE 32 IN  A:213
  STORE 32 IN  A:214
  STORE 32 IN  A:215
  STORE 32 IN  A:216
  STORE 32 IN  A:217
  STORE 68 IN  A:218
  STORE 73 IN  A:219
  STORE 83 IN  A:220
  STORE 80 IN  A:221
  STORE 76 IN  A:222
  STORE 65 IN  A:223
  STORE 89 IN  A:224
  STORE 32 IN  A:225
  STORE 34 IN  A:226
  STORE 32 IN  A:227
  STORE 73 IN  A:228
  STORE 78 IN  A:229
  STORE 32 IN  A:230
  STORE 34 IN  A:231
  STORE 10 IN  A:232
  STORE 32 IN  A:233
  STORE 32 IN  A:234
  STORE 32 IN  A:235
  STORE 32 IN  A:236
  STORE 32 IN  A:237
  STORE 32 IN  A:238
  STORE 32 IN  A:239
  STORE 32 IN  A:240
  STORE 68 IN  A:241
  STORE 73 IN  A:242
  STORE 83 IN  A:243
  STORE 80 IN  A:244
  STORE 76 IN  A:245
  STORE 65 IN  A:246
  STORE 89 IN  A:247
  STORE 32 IN  A:248
  STORE 34 IN  A:249
  STORE 32 IN  A:250
  STORE 65 IN  A:251
  STORE 58 IN  A:252
  STORE 34 IN  A:253
  STORE 10 IN  A:254
  STORE 32 IN  A:255
  STORE 32 IN  A:256
  STORE 32 IN  A:257
  STORE 32 IN  A:258
  STORE 32 IN  A:259
  STORE 32 IN  A:260
  STORE 32 IN  A:261
  STORE 32 IN  A:262
  STORE 68 IN  A:263
  STORE 73 IN  A:264
  STORE 83 IN  A:265
  STORE 80 IN  A:266
  STORE 76 IN  A:267
  STORE 65 IN  A:268
  STORE 89 IN  A:269
  STORE 32 IN  A:270
  STORE 73 IN  A:271
  STORE 32 IN  A:272
  STORE 67 IN  A:273
  STORE 82 IN  A:274
  STORE 76 IN  A:275
  STORE 70 IN  A:276
  STORE 10 IN  A:277
  STORE 32 IN  A:278
  STORE 32 IN  A:279
  STORE 32 IN  A:280
  STORE 32 IN  A:281
  STORE 32 IN  A:282
  STORE 32 IN  A:283
  STORE 32 IN  A:284
  STORE 32 IN  A:285
  STORE 65 IN  A:286
  STORE 68 IN  A:287
  STORE 68 IN  A:288
  STORE 32 IN  A:289
  STORE 73 IN  A:290
  STORE 32 IN  A:291
  STORE 65 IN  A:292
  STORE 78 IN  A:293
  STORE 68 IN  A:294
  STORE 32 IN  A:295
  STORE 49 IN  A:296
  STORE 32 IN  A:297
  STORE 73 IN  A:298
  STORE 78 IN  A:299
  STORE 32 IN  A:300
  STORE 73 IN  A:301
  STORE 10 IN  A:302
  STORE 32 IN  A:303
  STORE 32 IN  A:304
  STORE 32 IN  A:305
  STORE 32 IN  A:306
  STORE 82 IN  A:307
  STORE 69 IN  A:308
  STORE 80 IN  A:309
  STORE 69 IN  A:310
  STORE 65 IN  A:311
  STORE 84 IN  A:312
  STORE 10 IN  A:313
  STORE 32 IN  A:314
  STORE 32 IN  A:315
  STORE 32 IN  A:316
  STORE 32 IN  A:317
  STORE 68 IN  A:318
  STORE 73 IN  A:319
  STORE 83 IN  A:320
  STORE 80 IN  A:321
  STORE 76 IN  A:322
  STORE 65 IN  A:323
  STORE 89 IN  A:324
  STORE 32 IN  A:325
  STORE 34 IN  A:326
  STORE 32 IN  A:327
  STORE 32 IN  A:328
  STORE 83 IN  A:329
  STORE 84 IN  A:330
  STORE 79 IN  A:331
  STORE 82 IN  A:332
  STORE 69 IN  A:333
  STORE 32 IN  A:334
  STORE 34 IN  A:335
  STORE 10 IN  A:336
  STORE 32 IN  A:337
  STORE 32 IN  A:338
  STORE 32 IN  A:339
  STORE 32 IN  A:340
  STORE 68 IN  A:341
  STORE 73 IN  A:342
  STORE 83 IN  A:343
  STORE 80 IN  A:344
  STORE 76 IN  A:345
  STORE 65 IN  A:346
  STORE 89 IN  A:347
  STORE 32 IN  A:348
  STORE 78 IN  A:349
  STORE 10 IN  A:350
  STORE 32 IN  A:351
  STORE 32 IN  A:352
  STORE 32 IN  A:353
  STORE 32 IN  A:354
  STORE 68 IN  A:355
  STORE 73 IN  A:356
  STORE 83 IN  A:357
  STORE 80 IN  A:358
  STORE 76 IN  A:359
  STORE 65 IN  A:360
  STORE 89 IN  A:361
  STORE 32 IN  A:362
  STORE 34 IN  A:363
  STORE 32 IN  A:364
  STORE 73 IN  A:365
  STORE 78 IN  A:366
  STORE 32 IN  A:367
  STORE 78 IN  A:368
  STORE 34 IN  A:369
  STORE 32 IN  A:370
  STORE 67 IN  A:371
  STORE 82 IN  A:372
  STORE 76 IN  A:373
  STORE 70 IN  A:374
  STORE 10 IN  A:375
  STORE 32 IN  A:376
  STORE 32 IN  A:377
  STORE 69 IN  A:378
  STORE 78 IN  A:379
  STORE 68 IN  A:380
  STORE 32 IN  A:381
  STORE 83 IN  A:382
  STORE 85 IN  A:383
  STORE 66 IN  A:384
  STORE 45 IN  A:385
  STORE 80 IN  A:386
  STORE 82 IN  A:387
  STORE 79 IN  A:388
  STORE 67 IN  A:389
  STORE 69 IN  A:390
  STORE 68 IN  A:391
  STORE 85 IN  A:392
  STORE 82 IN  A:393
  STORE 69 IN  A:394
  STORE 10 IN  A:395
  STORE 10 IN  A:396
  STORE 32 IN  A:397
  STORE 32 IN  A:398
  STORE 83 IN  A:399
  STORE 85 IN  A:400
  STORE 66 IN  A:401
  STORE 45 IN  A:402
  STORE 80 IN  A:403
  STORE 82 IN  A:404
  STORE 79 IN  A:405
  STORE 67 IN  A:406
  STORE 69 IN  A:407
  STORE 68 IN  A:408
  STORE 85 IN  A:409
  STORE 82 IN  A:410
  STORE 69 IN  A:411
  STORE 32 IN  A:412
  STORE 83 IN  A:413
  STORE 72 IN  A:414
  STORE 79 IN  A:415
  STORE 87 IN  A:416
  STORE 10 IN  A:417
  STORE 32 IN  A:418
  STORE 32 IN  A:419
  STORE 32 IN  A:420
  STORE 32 IN  A:421
  STORE 83 IN  A:422
  STORE 84 IN  A:423
  STORE 79 IN  A:424
  STORE 82 IN  A:425
  STORE 69 IN  A:426
  STORE 32 IN  A:427
  STORE 48 IN  A:428
  STORE 32 IN  A:429
  STORE 73 IN  A:430
  STORE 78 IN  A:431
  STORE 32 IN  A:432
  STORE 74 IN  A:433
  STORE 10 IN  A:434
  STORE 32 IN  A:435
  STORE 32 IN  A:436
  STORE 32 IN  A:437
  STORE 32 IN  A:438
  STORE 87 IN  A:439
  STORE 72 IN  A:440
  STORE 73 IN  A:441
  STORE 76 IN  A:442
  STORE 69 IN  A:443
  STORE 32 IN  A:444
  STORE 74 IN  A:445
  STORE 32 IN  A:446
  STORE 73 IN  A:447
  STORE 83 IN  A:448
  STORE 32 IN  A:449
  STORE 76 IN  A:450
  STORE 69 IN  A:451
  STORE 83 IN  A:452
  STORE 83 IN  A:453
  STORE 32 IN  A:454
  STORE 84 IN  A:455
  STORE 72 IN  A:456
  STORE 65 IN  A:457
  STORE 78 IN  A:458
  STORE 32 IN  A:459
  STORE 78 IN  A:460
  STORE 32 IN  A:461
  STORE 68 IN  A:462
  STORE 79 IN  A:463
  STORE 10 IN  A:464
  STORE 32 IN  A:465
  STORE 32 IN  A:466
  STORE 32 IN  A:467
  STORE 32 IN  A:468
  STORE 32 IN  A:469
  STORE 32 IN  A:470
  STORE 32 IN  A:471
  STORE 32 IN  A:472
  STORE 73 IN  A:473
  STORE 70 IN  A:474
  STORE 32 IN  A:475
  STORE 65 IN  A:476
  STORE 58 IN  A:477
  STORE 74 IN  A:478
  STORE 32 IN  A:479
  STORE 73 IN  A:480
  STORE 83 IN  A:481
  STORE 32 IN  A:482
  STORE 69 IN  A:483
  STORE 81 IN  A:484
  STORE 85 IN  A:485
  STORE 65 IN  A:486
  STORE 76 IN  A:487
  STORE 32 IN  A:488
  STORE 84 IN  A:489
  STORE 79 IN  A:490
  STORE 32 IN  A:491
  STORE 52 IN  A:492
  STORE 50 IN  A:493
  STORE 32 IN  A:494
  STORE 84 IN  A:495
  STORE 72 IN  A:496
  STORE 69 IN  A:497
  STORE 78 IN  A:498
  STORE 10 IN  A:499
  STORE 32 IN  A:500
  STORE 32 IN  A:501
  STORE 32 IN  A:502
  STORE 32 IN  A:503
  STORE 32 IN  A:504
  STORE 32 IN  A:505
  STORE 32 IN  A:506
  STORE 32 IN  A:507
  STORE 32 IN  A:508
  STORE 32 IN  A:509
  STORE 67 IN  A:510
  STORE 65 IN  A:511
  STORE 76 IN  A:512
  STORE 76 IN  A:513
  STORE 32 IN  A:514
  STORE 83 IN  A:515
  STORE 85 IN  A:516
  STORE 66 IN  A:517
  STORE 45 IN  A:518
  STORE 80 IN  A:519
  STORE 82 IN  A:520
  STORE 79 IN  A:521
  STORE 67 IN  A:522
  STORE 69 IN  A:523
  STORE 68 IN  A:524
  STORE 85 IN  A:525
  STORE 82 IN  A:526
  STORE 69 IN  A:527
  STORE 32 IN  A:528
  STORE 83 IN  A:529
  STORE 72 IN  A:530
  STORE 79 IN  A:531
  STORE 87 IN  A:532
  STORE 85 IN  A:533
  STORE 10 IN  A:534
  STORE 32 IN  A:535
  STORE 32 IN  A:536
  STORE 32 IN  A:537
  STORE 32 IN  A:538
  STORE 32 IN  A:539
  STORE 32 IN  A:540
  STORE 32 IN  A:541
  STORE 32 IN  A:542
  STORE 69 IN  A:543
  STORE 76 IN  A:544
  STORE 83 IN  A:545
  STORE 69 IN  A:546
  STORE 10 IN  A:547
  STORE 32 IN  A:548
  STORE 32 IN  A:549
  STORE 32 IN  A:550
  STORE 32 IN  A:551
  STORE 32 IN  A:552
  STORE 32 IN  A:553
  STORE 32 IN  A:554
  STORE 32 IN  A:555
  STORE 32 IN  A:556
  STORE 32 IN  A:557
  STORE 83 IN  A:558
  STORE 84 IN  A:559
  STORE 79 IN  A:560
  STORE 82 IN  A:561
  STORE 69 IN  A:562
  STORE 32 IN  A:563
  STORE 67 IN  A:564
  STORE 72 IN  A:565
  STORE 65 IN  A:566
  STORE 82 IN  A:567
  STORE 65 IN  A:568
  STORE 67 IN  A:569
  STORE 84 IN  A:570
  STORE 69 IN  A:571
  STORE 82 IN  A:572
  STORE 32 IN  A:573
  STORE 65 IN  A:574
  STORE 58 IN  A:575
  STORE 74 IN  A:576
  STORE 32 IN  A:577
  STORE 73 IN  A:578
  STORE 78 IN  A:579
  STORE 32 IN  A:580
  STORE 67 IN  A:581
  STORE 10 IN  A:582
  STORE 32 IN  A:583
  STORE 32 IN  A:584
  STORE 32 IN  A:585
  STORE 32 IN  A:586
  STORE 32 IN  A:587
  STORE 32 IN  A:588
  STORE 32 IN  A:589
  STORE 32 IN  A:590
  STORE 32 IN  A:591
  STORE 32 IN  A:592
  STORE 68 IN  A:593
  STORE 73 IN  A:594
  STORE 83 IN  A:595
  STORE 80 IN  A:596
  STORE 76 IN  A:597
  STORE 65 IN  A:598
  STORE 89 IN  A:599
  STORE 32 IN  A:600
  STORE 67 IN  A:601
  STORE 10 IN  A:602
  STORE 32 IN  A:603
  STORE 32 IN  A:604
  STORE 32 IN  A:605
  STORE 32 IN  A:606
  STORE 32 IN  A:607
  STORE 32 IN  A:608
  STORE 32 IN  A:609
  STORE 32 IN  A:610
  STORE 69 IN  A:611
  STORE 78 IN  A:612
  STORE 68 IN  A:613
  STORE 45 IN  A:614
  STORE 73 IN  A:615
  STORE 70 IN  A:616
  STORE 10 IN  A:617
  STORE 32 IN  A:618
  STORE 32 IN  A:619
  STORE 32 IN  A:620
  STORE 32 IN  A:621
  STORE 32 IN  A:622
  STORE 32 IN  A:623
  STORE 32 IN  A:624
  STORE 32 IN  A:625
  STORE 65 IN  A:626
  STORE 68 IN  A:627
  STORE 68 IN  A:628
  STORE 32 IN  A:629
  STORE 74 IN  A:630
  STORE 32 IN  A:631
  STORE 65 IN  A:632
  STORE 78 IN  A:633
  STORE 68 IN  A:634
  STORE 32 IN  A:635
  STORE 49 IN  A:636
  STORE 32 IN  A:637
  STORE 73 IN  A:638
  STORE 78 IN  A:639
  STORE 32 IN  A:640
  STORE 74 IN  A:641
  STORE 10 IN  A:642
  STORE 32 IN  A:643
  STORE 32 IN  A:644
  STORE 32 IN  A:645
  STORE 32 IN  A:646
  STORE 82 IN  A:647
  STORE 69 IN  A:648
  STORE 80 IN  A:649
  STORE 69 IN  A:650
  STORE 65 IN  A:651
  STORE 84 IN  A:652
  STORE 10 IN  A:653
  STORE 32 IN  A:654
  STORE 32 IN  A:655
  STORE 69 IN  A:656
  STORE 78 IN  A:657
  STORE 68 IN  A:658
  STORE 32 IN  A:659
  STORE 83 IN  A:660
  STORE 85 IN  A:661
  STORE 66 IN  A:662
  STORE 45 IN  A:663
  STORE 80 IN  A:664
  STORE 82 IN  A:665
  STORE 79 IN  A:666
  STORE 67 IN  A:667
  STORE 69 IN  A:668
  STORE 68 IN  A:669
  STORE 85 IN  A:670
  STORE 82 IN  A:671
  STORE 69 IN  A:672
  STORE 10 IN  A:673
  STORE 10 IN  A:674
  STORE 42 IN  A:675
  STORE 10 IN  A:676
  STORE 32 IN  A:677
  STORE 32 IN  A:678
  STORE 67 IN  A:679
  STORE 65 IN  A:680
  STORE 76 IN  A:681
  STORE 76 IN  A:682
  STORE 32 IN  A:683
  STORE 83 IN  A:684
  STORE 85 IN  A:685
  STORE 66 IN  A:686
  STORE 45 IN  A:687
  STORE 80 IN  A:688
  STORE 82 IN  A:689
  STORE 79 IN  A:690
  STORE 67 IN  A:691
  STORE 69 IN  A:692
  STORE 68 IN  A:693
  STORE 85 IN  A:694
  STORE 82 IN  A:695
  STORE 69 IN  A:696
  STORE 32 IN  A:697
  STORE 83 IN  A:698
  STORE 72 IN  A:699
  STORE 79 IN  A:700
  STORE 87 IN  A:701
  STORE 10 IN  A:702
  STORE 10 IN  A:703
  STORE 704 IN N
 
  CALL SUB-PROCEDURE SHOW