

from math import sqrt
from operator import *

def safe_div(a,b):
    try:
        return a/b
    except ZeroDivisionError:
        return 0.0

class OrbitalVirtualMachine(object):
    def __init__(machine):
        machine.r = [1.0, 0.0, 30.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8357000.0, 2004.0, 0.0, 0.0, 0.0, 0.0, 2003.0, 0.0, 0.0, 0.0, -6357000.0, 2002.0, 0.0, 0.0, 0.0, 2001.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7357000.0, 0.0, 0.0, 63570000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.6742799999999995e-11, 0.0, 5.9999999999999999e+24, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -7377.8098574565047, 0.0, 0.0, -2491.2120749986616, 0.0, 0.0, -6922.3353585219347, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6457000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6357000.0, 0.0, 0.0, 6557000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4719.3179090671219, 0.0, 0.0, -7814.9327385133756, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6922.3353585219347, 0.0, 0.0, 0.0, 0.0, -249.12120749986616, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7875.2154332354548, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 50000.0, 0.0, 0.0, 0.0, 0.0, 25.0, 45.0, 0.0, 0.0, 0.0, 0.0, 0.0, 900.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6357000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
        machine.port = list(0.0 for i in xrange(2**14))
        machine.input = list(0.0 for i in xrange(2**14))
            
    def __iter__(machine):
        r = machine.r
        port = machine.port
        input = machine.input
        while True:
            # offset 0x0 (0): 1.000000
            r[1] = r[400]
            # offset 0x2 (2): 30.000000
            # offset 0x3 (3): 0.000000
            r[4] = r[379]
            r[5] = r[4] - r[3]
            machine.status = eq(r[5], 0.0)
            r[7] = r[2] if machine.status else r[1]
            r[8] = r[7] - r[0]
            r[9] = r[398]
            machine.status = eq(r[5], 0.0)
            r[11] = r[0] if machine.status else r[9]
            r[12] = r[11] - r[0]
            machine.status = eq(r[12], 0.0)
            r[14] = r[8] if machine.status else r[7]
            # offset 0xf (15): 2.000000
            r[16] = r[399]
            # offset 0x11 (17): 1000.000000
            machine.status = eq(r[5], 0.0)
            r[19] = r[17] if machine.status else r[16]
            r[20] = r[19] * r[15]
            machine.status = eq(r[12], 0.0)
            r[22] = r[20] if machine.status else r[19]
            machine.status = eq(r[12], 0.0)
            r[24] = r[19] if machine.status else r[12]
            r[25] = r[396]
            r[26] = r[391]
            # offset 0x1b (27): 0.000000
            # offset 0x1c (28): 8357000.000000
            # offset 0x1d (29): 2004.000000
            r[30] = input[16000]
            r[31] = r[30] - r[29]
            machine.status = eq(r[31], 0.0)
            r[33] = r[28] if machine.status else r[3]
            # offset 0x22 (34): 2003.000000
            r[35] = r[30] - r[34]
            machine.status = eq(r[35], 0.0)
            r[37] = r[27] if machine.status else r[33]
            # offset 0x26 (38): -6357000.000000
            # offset 0x27 (39): 2002.000000
            r[40] = r[30] - r[39]
            machine.status = eq(r[40], 0.0)
            r[42] = r[38] if machine.status else r[37]
            # offset 0x2b (43): 2001.000000
            r[44] = r[30] - r[43]
            machine.status = eq(r[44], 0.0)
            r[46] = r[27] if machine.status else r[42]
            machine.status = eq(r[5], 0.0)
            r[48] = r[46] if machine.status else r[26]
            r[49] = r[381]
            machine.status = eq(r[5], 0.0)
            r[51] = r[3] if machine.status else r[49]
            r[52] = r[51] - r[48]
            r[53] = r[52] * r[52]
            r[54] = r[390]
            machine.status = eq(r[31], 0.0)
            r[56] = r[27] if machine.status else r[3]
            # offset 0x39 (57): 7357000.000000
            machine.status = eq(r[35], 0.0)
            r[59] = r[57] if machine.status else r[56]
            # offset 0x3c (60): 63570000.000000
            machine.status = eq(r[40], 0.0)
            r[62] = r[60] if machine.status else r[59]
            machine.status = eq(r[44], 0.0)
            r[64] = r[28] if machine.status else r[62]
            machine.status = eq(r[5], 0.0)
            r[66] = r[64] if machine.status else r[54]
            r[67] = r[380]
            machine.status = eq(r[5], 0.0)
            r[69] = r[3] if machine.status else r[67]
            r[70] = r[69] - r[66]
            r[71] = r[70] * r[70]
            r[72] = r[71] + r[53]
            r[73] = sqrt(r[72])
            r[74] = r[73] * r[73]
            r[75] = r[74] * r[73]
            # offset 0x4c (76): 0.000000
            r[77] = r[382]
            # offset 0x4e (78): 5999999999999999899336704.000000
            machine.status = eq(r[5], 0.0)
            r[80] = r[78] if machine.status else r[77]
            r[81] = r[76] * r[80]
            r[82] = safe_div(r[81], r[75])
            r[83] = r[52] * r[82]
            r[84] = safe_div(r[0], r[0])
            r[85] = r[84] * r[84]
            r[86] = safe_div(r[85], r[15])
            r[87] = r[83] * r[86]
            r[88] = r[394]
            # offset 0x59 (89): -7377.809857
            machine.status = eq(r[35], 0.0)
            r[91] = r[89] if machine.status else r[56]
            # offset 0x5c (92): -2491.212075
            machine.status = eq(r[40], 0.0)
            r[94] = r[92] if machine.status else r[91]
            # offset 0x5f (95): -6922.335359
            machine.status = eq(r[44], 0.0)
            r[97] = r[95] if machine.status else r[94]
            machine.status = eq(r[5], 0.0)
            r[99] = r[97] if machine.status else r[88]
            r[100] = r[99] * r[84]
            r[101] = r[48] + r[100]
            r[102] = r[101] + r[87]
            r[103] = r[386]
            # offset 0x68 (104): 6457000.000000
            r[105] = r[29] + r[17]
            r[106] = r[30] - r[105]
            machine.status = eq(r[106], 0.0)
            r[108] = r[104] if machine.status else r[3]
            r[109] = r[34] + r[17]
            r[110] = r[30] - r[109]
            machine.status = eq(r[110], 0.0)
            r[112] = r[27] if machine.status else r[108]
            r[113] = r[39] + r[17]
            r[114] = r[30] - r[113]
            machine.status = eq(r[114], 0.0)
            r[116] = r[38] if machine.status else r[112]
            r[117] = r[43] + r[17]
            r[118] = r[30] - r[117]
            machine.status = eq(r[118], 0.0)
            r[120] = r[27] if machine.status else r[116]
            machine.status = eq(r[31], 0.0)
            r[122] = r[104] if machine.status else r[120]
            machine.status = eq(r[35], 0.0)
            r[124] = r[27] if machine.status else r[122]
            machine.status = eq(r[40], 0.0)
            r[126] = r[38] if machine.status else r[124]
            machine.status = eq(r[44], 0.0)
            r[128] = r[27] if machine.status else r[126]
            machine.status = eq(r[5], 0.0)
            r[130] = r[128] if machine.status else r[103]
            r[131] = r[51] - r[130]
            r[132] = r[131] * r[131]
            r[133] = r[385]
            machine.status = eq(r[106], 0.0)
            r[135] = r[27] if machine.status else r[3]
            machine.status = eq(r[110], 0.0)
            r[137] = r[28] if machine.status else r[135]
            # offset 0x8a (138): 6357000.000000
            machine.status = eq(r[114], 0.0)
            r[140] = r[138] if machine.status else r[137]
            # offset 0x8d (141): 6557000.000000
            machine.status = eq(r[118], 0.0)
            r[143] = r[141] if machine.status else r[140]
            machine.status = eq(r[31], 0.0)
            r[145] = r[27] if machine.status else r[143]
            machine.status = eq(r[35], 0.0)
            r[147] = r[28] if machine.status else r[145]
            machine.status = eq(r[40], 0.0)
            r[149] = r[138] if machine.status else r[147]
            machine.status = eq(r[44], 0.0)
            r[151] = r[141] if machine.status else r[149]
            machine.status = eq(r[5], 0.0)
            r[153] = r[151] if machine.status else r[133]
            r[154] = r[69] - r[153]
            r[155] = r[154] * r[154]
            r[156] = r[155] + r[132]
            r[157] = sqrt(r[156])
            r[158] = r[157] * r[157]
            r[159] = r[158] * r[157]
            r[160] = safe_div(r[81], r[159])
            r[161] = r[131] * r[160]
            r[162] = input[3]
            r[163] = safe_div(r[162], r[84])
            r[164] = r[163] + r[161]
            r[165] = r[164] * r[86]
            r[166] = r[389]
            machine.status = eq(r[110], 0.0)
            r[168] = r[95] if machine.status else r[135]
            # offset 0xa9 (169): -4719.317909
            machine.status = eq(r[114], 0.0)
            r[171] = r[169] if machine.status else r[168]
            # offset 0xac (172): -7814.932739
            machine.status = eq(r[118], 0.0)
            r[174] = r[172] if machine.status else r[171]
            machine.status = eq(r[31], 0.0)
            r[176] = r[27] if machine.status else r[174]
            machine.status = eq(r[35], 0.0)
            r[178] = r[95] if machine.status else r[176]
            machine.status = eq(r[40], 0.0)
            r[180] = r[169] if machine.status else r[178]
            machine.status = eq(r[44], 0.0)
            r[182] = r[172] if machine.status else r[180]
            machine.status = eq(r[5], 0.0)
            r[184] = r[182] if machine.status else r[166]
            r[185] = r[184] * r[84]
            r[186] = r[130] + r[185]
            r[187] = r[186] + r[165]
            r[188] = r[187] - r[102]
            r[189] = r[188] * r[188]
            r[190] = r[70] * r[82]
            r[191] = r[190] * r[86]
            r[192] = r[393]
            # offset 0xc1 (193): 6922.335359
            machine.status = eq(r[31], 0.0)
            r[195] = r[193] if machine.status else r[3]
            machine.status = eq(r[35], 0.0)
            r[197] = r[27] if machine.status else r[195]
            # offset 0xc6 (198): -249.121207
            machine.status = eq(r[40], 0.0)
            r[200] = r[198] if machine.status else r[197]
            machine.status = eq(r[44], 0.0)
            r[202] = r[27] if machine.status else r[200]
            machine.status = eq(r[5], 0.0)
            r[204] = r[202] if machine.status else r[192]
            r[205] = r[204] * r[84]
            r[206] = r[66] + r[205]
            r[207] = r[206] + r[191]
            r[208] = r[154] * r[160]
            r[209] = input[2]
            r[210] = safe_div(r[209], r[84])
            r[211] = r[210] + r[208]
            r[212] = r[211] * r[86]
            r[213] = r[388]
            # offset 0xd6 (214): 7875.215433
            machine.status = eq(r[106], 0.0)
            r[216] = r[214] if machine.status else r[3]
            machine.status = eq(r[110], 0.0)
            r[218] = r[27] if machine.status else r[216]
            machine.status = eq(r[114], 0.0)
            r[220] = r[169] if machine.status else r[218]
            machine.status = eq(r[118], 0.0)
            r[222] = r[27] if machine.status else r[220]
            machine.status = eq(r[31], 0.0)
            r[224] = r[214] if machine.status else r[222]
            machine.status = eq(r[35], 0.0)
            r[226] = r[27] if machine.status else r[224]
            machine.status = eq(r[40], 0.0)
            r[228] = r[169] if machine.status else r[226]
            machine.status = eq(r[44], 0.0)
            r[230] = r[27] if machine.status else r[228]
            machine.status = eq(r[5], 0.0)
            r[232] = r[230] if machine.status else r[213]
            r[233] = r[232] * r[84]
            r[234] = r[153] + r[233]
            r[235] = r[234] + r[212]
            r[236] = r[235] - r[207]
            r[237] = r[236] * r[236]
            r[238] = r[237] + r[189]
            r[239] = sqrt(r[238])
            r[240] = r[25] + r[239]
            r[241] = r[163] * r[163]
            r[242] = r[210] * r[210]
            r[243] = r[242] + r[241]
            r[244] = sqrt(r[243])
            r[245] = r[244] - r[3]
            machine.status = eq(r[245], 0.0)
            r[247] = r[240] if machine.status else r[3]
            r[248] = r[239] - r[17]
            machine.status = lt(r[248], 0.0)
            r[250] = r[247] if machine.status else r[3]
            r[251] = r[51] - r[102]
            r[252] = r[251] * r[251]
            r[253] = r[69] - r[207]
            r[254] = r[253] * r[253]
            r[255] = r[254] + r[252]
            r[256] = sqrt(r[255])
            r[257] = r[256] * r[256]
            r[258] = r[257] * r[256]
            r[259] = safe_div(r[81], r[258])
            r[260] = r[251] * r[259]
            r[261] = r[260] + r[83]
            r[262] = safe_div(r[261], r[15])
            r[263] = r[262] * r[84]
            r[264] = r[99] + r[263]
            r[265] = r[253] * r[259]
            r[266] = r[265] + r[190]
            r[267] = safe_div(r[266], r[15])
            r[268] = r[267] * r[84]
            r[269] = r[204] + r[268]
            r[270] = r[392]
            # offset 0x10f (271): 1.000000
            machine.status = eq(r[31], 0.0)
            r[273] = r[271] if machine.status else r[3]
            machine.status = eq(r[35], 0.0)
            r[275] = r[271] if machine.status else r[273]
            machine.status = eq(r[40], 0.0)
            r[277] = r[271] if machine.status else r[275]
            machine.status = eq(r[44], 0.0)
            r[279] = r[271] if machine.status else r[277]
            machine.status = eq(r[5], 0.0)
            r[281] = r[279] if machine.status else r[270]
            r[282] = r[51] - r[187]
            r[283] = r[282] * r[282]
            r[284] = r[69] - r[235]
            r[285] = r[284] * r[284]
            r[286] = r[285] + r[283]
            r[287] = sqrt(r[286])
            r[288] = r[287] * r[287]
            r[289] = r[288] * r[287]
            r[290] = safe_div(r[81], r[289])
            r[291] = r[282] * r[290]
            r[292] = r[291] + r[161]
            r[293] = safe_div(r[292], r[15])
            r[294] = r[163] + r[293]
            r[295] = r[294] * r[84]
            r[296] = r[184] + r[295]
            r[297] = r[284] * r[290]
            r[298] = r[297] + r[208]
            r[299] = safe_div(r[298], r[15])
            r[300] = r[210] + r[299]
            r[301] = r[300] * r[84]
            r[302] = r[232] + r[301]
            r[303] = r[387]
            machine.status = eq(r[106], 0.0)
            r[305] = r[271] if machine.status else r[3]
            machine.status = eq(r[110], 0.0)
            r[307] = r[271] if machine.status else r[305]
            machine.status = eq(r[114], 0.0)
            r[309] = r[271] if machine.status else r[307]
            machine.status = eq(r[118], 0.0)
            r[311] = r[271] if machine.status else r[309]
            machine.status = eq(r[31], 0.0)
            r[313] = r[271] if machine.status else r[311]
            machine.status = eq(r[35], 0.0)
            r[315] = r[271] if machine.status else r[313]
            machine.status = eq(r[40], 0.0)
            r[317] = r[271] if machine.status else r[315]
            machine.status = eq(r[44], 0.0)
            r[319] = r[271] if machine.status else r[317]
            machine.status = eq(r[5], 0.0)
            r[321] = r[319] if machine.status else r[303]
            r[322] = r[384]
            machine.status = eq(r[5], 0.0)
            r[324] = r[3] if machine.status else r[322]
            r[325] = r[383]
            machine.status = eq(r[5], 0.0)
            r[327] = r[3] if machine.status else r[325]
            r[328] = r[4] + r[0]
            r[329] = r[102] - r[187]
            r[330] = r[207] - r[235]
            r[331] = r[395]
            r[332] = r[331] + r[0]
            machine.status = eq(r[245], 0.0)
            r[334] = r[332] if machine.status else r[3]
            machine.status = lt(r[248], 0.0)
            r[336] = r[334] if machine.status else r[3]
            r[337] = r[397]
            # offset 0x152 (338): 50000.000000
            machine.status = eq(r[5], 0.0)
            r[340] = r[338] if machine.status else r[337]
            r[341] = r[244] * r[84]
            r[342] = r[340] - r[341]
            # offset 0x157 (343): 25.000000
            # offset 0x158 (344): 45.000000
            r[345] = safe_div(r[342], r[338])
            r[346] = r[345] * r[344]
            r[347] = r[7] + r[346]
            r[348] = r[347] + r[343]
            r[349] = r[348] * r[15]
            # offset 0x15e (350): 900.000000
            r[351] = safe_div(r[350], r[84])
            r[352] = r[351] - r[336]
            machine.status = lt(r[352], 0.0)
            r[354] = r[349] if machine.status else r[3]
            r[355] = r[342] - r[3]
            r[356] = r[372] - r[0]
            machine.status = lt(r[355], 0.0)
            r[358] = r[356] if machine.status else r[354]
            r[359] = r[338] - r[341]
            machine.status = lt(r[359], 0.0)
            r[361] = r[356] if machine.status else r[358]
            # offset 0x16a (362): 6357000.000000
            r[363] = r[187] - r[51]
            r[364] = r[363] * r[363]
            r[365] = r[235] - r[69]
            r[366] = r[365] * r[365]
            r[367] = r[366] + r[364]
            r[368] = sqrt(r[367])
            r[369] = r[368] - r[362]
            machine.status = lt(r[369], 0.0)
            r[371] = r[356] if machine.status else r[361]
            # offset 0x174 (372): 0.000000
            port[0] = r[371]
            port[1] = r[342]
            port[2] = r[284]
            port[3] = r[282]
            port[4] = r[330]
            port[5] = r[329]
            r[379] = r[328]
            r[380] = r[69]
            r[381] = r[51]
            r[382] = r[80]
            r[383] = r[327]
            r[384] = r[324]
            r[385] = r[235]
            r[386] = r[187]
            r[387] = r[321]
            r[388] = r[302]
            r[389] = r[296]
            r[390] = r[207]
            r[391] = r[102]
            r[392] = r[281]
            r[393] = r[269]
            r[394] = r[264]
            r[395] = r[336]
            r[396] = r[250]
            r[397] = r[342]
            r[398] = r[24]
            r[399] = r[22]
            r[400] = r[14]
            yield port

    