MAIN
       MOVE TEMP 36 HALLOCATE 16
       MOVE TEMP 37 HALLOCATE 12
       MOVE TEMP 87 LS_Init
       HSTORE TEMP 36 12 TEMP 87
       MOVE TEMP 88 LS_Search
       HSTORE TEMP 36 8 TEMP 88
       MOVE TEMP 89 LS_Print
       HSTORE TEMP 36 4 TEMP 89
       MOVE TEMP 90 LS_Start
       HSTORE TEMP 36 0 TEMP 90
       MOVE TEMP 38 4
L0     NOOP
       MOVE TEMP 91 12
       MOVE TEMP 92 LT TEMP 38 TEMP 91
       CJUMP TEMP 92 L1
       MOVE TEMP 93 PLUS TEMP 37 TEMP 38
       MOVE TEMP 94 0
       HSTORE TEMP 93 0 TEMP 94
       MOVE TEMP 38 PLUS TEMP 38 4
       JUMP L0
L1     NOOP
       HSTORE TEMP 37 0 TEMP 36
       MOVE TEMP 35 TEMP 37
       HLOAD TEMP 33 TEMP 35 0
       HLOAD TEMP 34 TEMP 33 0
       MOVE TEMP 95 10
       MOVE TEMP 96 CALL TEMP 34( TEMP 35 TEMP 95 )
       PRINT TEMP 96
END
LS_Start [2]
BEGIN
       MOVE TEMP 41 TEMP 0
       HLOAD TEMP 39 TEMP 41 0
       HLOAD TEMP 40 TEMP 39 12
       MOVE TEMP 97 CALL TEMP 40( TEMP 41 TEMP 1 )
       MOVE TEMP 20 TEMP 97
       MOVE TEMP 44 TEMP 0
       HLOAD TEMP 42 TEMP 44 0
       HLOAD TEMP 43 TEMP 42 4
       MOVE TEMP 98 CALL TEMP 43( TEMP 44 )
       MOVE TEMP 21 TEMP 98
       MOVE TEMP 99 9999
       PRINT TEMP 99
       MOVE TEMP 47 TEMP 0
       HLOAD TEMP 45 TEMP 47 0
       HLOAD TEMP 46 TEMP 45 8
       MOVE TEMP 100 8
       MOVE TEMP 101 CALL TEMP 46( TEMP 47 TEMP 100 )
       PRINT TEMP 101
       MOVE TEMP 50 TEMP 0
       HLOAD TEMP 48 TEMP 50 0
       HLOAD TEMP 49 TEMP 48 8
       MOVE TEMP 102 12
       MOVE TEMP 103 CALL TEMP 49( TEMP 50 TEMP 102 )
       PRINT TEMP 103
       MOVE TEMP 53 TEMP 0
       HLOAD TEMP 51 TEMP 53 0
       HLOAD TEMP 52 TEMP 51 8
       MOVE TEMP 104 17
       MOVE TEMP 105 CALL TEMP 52( TEMP 53 TEMP 104 )
       PRINT TEMP 105
       MOVE TEMP 56 TEMP 0
       HLOAD TEMP 54 TEMP 56 0
       HLOAD TEMP 55 TEMP 54 8
       MOVE TEMP 106 50
       MOVE TEMP 107 CALL TEMP 55( TEMP 56 TEMP 106 )
       PRINT TEMP 107
       MOVE TEMP 108 55
RETURN
       TEMP 108
END
LS_Print [1]
BEGIN
       MOVE TEMP 22 1
L2     NOOP
       HLOAD TEMP 58 TEMP 0 8
       MOVE TEMP 109 LT TEMP 22 TEMP 58
       CJUMP TEMP 109 L3
       HLOAD TEMP 63 TEMP 0 4
       MOVE TEMP 60 TIMES TEMP 22 4
       HLOAD TEMP 63 TEMP 0 4
       HLOAD TEMP 61 TEMP 63 0
       MOVE TEMP 110 1
       MOVE TEMP 111 LT TEMP 60 TEMP 61
       MOVE TEMP 112 MINUS TEMP 110 TEMP 111
       CJUMP TEMP 112 L4
       ERROR
L4     NOOP
       MOVE TEMP 113 4
       MOVE TEMP 114 TEMP 113
       MOVE TEMP 115 PLUS TEMP 60 TEMP 114
       MOVE TEMP 116 TEMP 115
       MOVE TEMP 117 PLUS TEMP 63 TEMP 116
       HLOAD TEMP 62 TEMP 117 0
       PRINT TEMP 62
       MOVE TEMP 22 PLUS TEMP 22 1
       JUMP L2
L3     NOOP
       MOVE TEMP 118 0
RETURN
       TEMP 118
END
LS_Search [2]
BEGIN
       MOVE TEMP 23 1
       MOVE TEMP 24 0
       MOVE TEMP 25 0
L5     NOOP
       HLOAD TEMP 66 TEMP 0 8
       MOVE TEMP 119 LT TEMP 23 TEMP 66
       CJUMP TEMP 119 L6
       HLOAD TEMP 71 TEMP 0 4
       MOVE TEMP 68 TIMES TEMP 23 4
       HLOAD TEMP 71 TEMP 0 4
       HLOAD TEMP 69 TEMP 71 0
       MOVE TEMP 120 1
       MOVE TEMP 121 LT TEMP 68 TEMP 69
       MOVE TEMP 122 MINUS TEMP 120 TEMP 121
       CJUMP TEMP 122 L7
       ERROR
L7     NOOP
       MOVE TEMP 123 4
       MOVE TEMP 124 TEMP 123
       MOVE TEMP 125 PLUS TEMP 68 TEMP 124
       MOVE TEMP 126 TEMP 125
       MOVE TEMP 127 PLUS TEMP 71 TEMP 126
       HLOAD TEMP 70 TEMP 127 0
       MOVE TEMP 26 TEMP 70
       MOVE TEMP 27 PLUS TEMP 1 1
       MOVE TEMP 128 LT TEMP 26 TEMP 1
       CJUMP TEMP 128 L8
       MOVE TEMP 28 0
       JUMP L9
L8     NOOP
       MOVE TEMP 129 1
       MOVE TEMP 130 LT TEMP 26 TEMP 27
       MOVE TEMP 131 MINUS TEMP 129 TEMP 130
       CJUMP TEMP 131 L10
       MOVE TEMP 28 0
       JUMP L11
L10    NOOP
       MOVE TEMP 24 1
       MOVE TEMP 25 1
       HLOAD TEMP 73 TEMP 0 8
       MOVE TEMP 23 TEMP 73
L11    NOOP
L9     NOOP
       MOVE TEMP 23 PLUS TEMP 23 1
       JUMP L5
L6     NOOP
RETURN
       TEMP 25
END
LS_Init [2]
BEGIN
       HSTORE TEMP 0 8 TEMP 1
       MOVE TEMP 132 PLUS TEMP 1 1
       MOVE TEMP 133 4
       MOVE TEMP 134 TIMES TEMP 132 TEMP 133
       MOVE TEMP 75 HALLOCATE TEMP 134
       MOVE TEMP 76 4
L12    NOOP
       MOVE TEMP 135 1
       MOVE TEMP 136 PLUS TEMP 1 TEMP 135
       MOVE TEMP 137 4
       MOVE TEMP 138 TEMP 137
       MOVE TEMP 139 TIMES TEMP 136 TEMP 138
       MOVE TEMP 140 LT TEMP 76 TEMP 139
       CJUMP TEMP 140 L13
       MOVE TEMP 141 PLUS TEMP 75 TEMP 76
       MOVE TEMP 142 0
       HSTORE TEMP 141 0 TEMP 142
       MOVE TEMP 76 PLUS TEMP 76 4
       JUMP L12
L13    NOOP
       MOVE TEMP 143 4
       MOVE TEMP 144 TIMES TEMP 1 TEMP 143
       HSTORE TEMP 75 0 TEMP 144
       HSTORE TEMP 0 4 TEMP 75
       MOVE TEMP 29 1
       HLOAD TEMP 77 TEMP 0 8
       MOVE TEMP 145 1
       MOVE TEMP 30 PLUS TEMP 77 TEMP 145
L14    NOOP
       HLOAD TEMP 80 TEMP 0 8
       MOVE TEMP 146 LT TEMP 29 TEMP 80
       CJUMP TEMP 146 L15
       MOVE TEMP 147 2
       MOVE TEMP 31 TIMES TEMP 147 TEMP 29
       MOVE TEMP 32 MINUS TEMP 30 3
       MOVE TEMP 148 1
       MOVE TEMP 86 TIMES TEMP 148 4
       MOVE TEMP 149 PLUS TEMP 0 TEMP 86
       HLOAD TEMP 85 TEMP 149 0
       MOVE TEMP 83 TIMES TEMP 29 4
       MOVE TEMP 150 1
       MOVE TEMP 86 TIMES TEMP 150 4
       MOVE TEMP 151 PLUS TEMP 0 TEMP 86
       HLOAD TEMP 85 TEMP 151 0
       HLOAD TEMP 84 TEMP 85 0
       MOVE TEMP 152 1
       MOVE TEMP 153 LT TEMP 83 TEMP 84
       MOVE TEMP 154 MINUS TEMP 152 TEMP 153
       CJUMP TEMP 154 L16
       ERROR
L16    NOOP
       MOVE TEMP 155 4
       MOVE TEMP 156 TEMP 155
       MOVE TEMP 157 PLUS TEMP 83 TEMP 156
       MOVE TEMP 158 TEMP 157
       MOVE TEMP 159 PLUS TEMP 85 TEMP 158
       MOVE TEMP 160 PLUS TEMP 31 TEMP 32
       HSTORE TEMP 159 0 TEMP 160
       MOVE TEMP 29 PLUS TEMP 29 1
       MOVE TEMP 30 MINUS TEMP 30 1
       JUMP L14
L15    NOOP
       MOVE TEMP 161 0
RETURN
       TEMP 161
END

