

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, 0.0, 1000.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.1000000000000001, 42164.0, 0.0, 0.0, 1004.0, 0.0, 0.0, 0.0, 0.0, 1.5, 0.0, 1003.0, 0.0, 0.0, 0.0, 0.0, 1002.0, 0.0, 0.0, 0.0, 1001.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, -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, 8357000.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, 5.9999999999999999e+24, 0.0, 0.0, 6.6742799999999995e-11, 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, -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, -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, 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, 10000.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]
        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[265]
            # offset 0x2 (2): 30.000000
            # offset 0x3 (3): 0.000000
            r[4] = r[248]
            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[263]
            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]
            r[15] = r[264]
            # offset 0x10 (16): 1000.000000
            machine.status = eq(r[5], 0.0)
            r[18] = r[16] if machine.status else r[15]
            # offset 0x13 (19): 2.000000
            r[20] = r[18] * r[19]
            machine.status = eq(r[12], 0.0)
            r[22] = r[20] if machine.status else r[18]
            machine.status = eq(r[12], 0.0)
            r[24] = r[18] if machine.status else r[12]
            r[25] = r[260]
            r[26] = r[262]
            # offset 0x1b (27): 1.100000
            # offset 0x1c (28): 42164.000000
            r[29] = r[28] * r[16]
            r[30] = safe_div(r[29], r[27])
            # offset 0x1f (31): 1004.000000
            r[32] = input[16000]
            r[33] = r[32] - r[31]
            machine.status = eq(r[33], 0.0)
            r[35] = r[30] if machine.status else r[3]
            # offset 0x24 (36): 1.500000
            r[37] = safe_div(r[29], r[36])
            # offset 0x26 (38): 1003.000000
            r[39] = r[32] - r[38]
            machine.status = eq(r[39], 0.0)
            r[41] = r[37] if machine.status else r[35]
            r[42] = safe_div(r[29], r[19])
            # offset 0x2b (43): 1002.000000
            r[44] = r[32] - r[43]
            machine.status = eq(r[44], 0.0)
            r[46] = r[42] if machine.status else r[41]
            # offset 0x2f (47): 1001.000000
            r[48] = r[32] - r[47]
            machine.status = eq(r[48], 0.0)
            r[50] = r[29] if machine.status else r[46]
            machine.status = eq(r[5], 0.0)
            r[52] = r[50] if machine.status else r[26]
            r[53] = r[255]
            # offset 0x36 (54): 0.000000
            # offset 0x37 (55): 6457000.000000
            machine.status = eq(r[33], 0.0)
            r[57] = r[55] if machine.status else r[3]
            machine.status = eq(r[39], 0.0)
            r[59] = r[54] if machine.status else r[57]
            # offset 0x3c (60): -6357000.000000
            machine.status = eq(r[44], 0.0)
            r[62] = r[60] if machine.status else r[59]
            machine.status = eq(r[48], 0.0)
            r[64] = r[54] if machine.status else r[62]
            machine.status = eq(r[5], 0.0)
            r[66] = r[64] if machine.status else r[53]
            r[67] = r[250]
            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[249]
            machine.status = eq(r[5], 0.0)
            r[74] = r[3] if machine.status else r[72]
            r[75] = r[254]
            machine.status = eq(r[33], 0.0)
            r[77] = r[54] if machine.status else r[3]
            # offset 0x4e (78): 8357000.000000
            machine.status = eq(r[39], 0.0)
            r[80] = r[78] if machine.status else r[77]
            # offset 0x51 (81): 6357000.000000
            machine.status = eq(r[44], 0.0)
            r[83] = r[81] if machine.status else r[80]
            # offset 0x54 (84): 6557000.000000
            machine.status = eq(r[48], 0.0)
            r[86] = r[84] if machine.status else r[83]
            machine.status = eq(r[5], 0.0)
            r[88] = r[86] if machine.status else r[75]
            r[89] = r[74] - r[88]
            r[90] = r[89] * r[89]
            r[91] = r[90] + r[71]
            r[92] = sqrt(r[91])
            r[93] = r[92] * r[92]
            r[94] = r[93] * r[92]
            r[95] = r[251]
            # offset 0x60 (96): 5999999999999999899336704.000000
            machine.status = eq(r[5], 0.0)
            r[98] = r[96] if machine.status else r[95]
            # offset 0x63 (99): 0.000000
            r[100] = r[99] * r[98]
            r[101] = safe_div(r[100], r[94])
            r[102] = r[70] * r[101]
            r[103] = input[3]
            r[104] = safe_div(r[0], r[0])
            r[105] = safe_div(r[103], r[104])
            r[106] = r[105] + r[102]
            r[107] = r[104] * r[104]
            r[108] = safe_div(r[107], r[19])
            r[109] = r[106] * r[108]
            r[110] = r[258]
            # offset 0x6f (111): -6922.335359
            machine.status = eq(r[39], 0.0)
            r[113] = r[111] if machine.status else r[77]
            # offset 0x72 (114): -4719.317909
            machine.status = eq(r[44], 0.0)
            r[116] = r[114] if machine.status else r[113]
            # offset 0x75 (117): -7814.932739
            machine.status = eq(r[48], 0.0)
            r[119] = r[117] if machine.status else r[116]
            machine.status = eq(r[5], 0.0)
            r[121] = r[119] if machine.status else r[110]
            r[122] = r[121] * r[104]
            r[123] = r[66] + r[122]
            r[124] = r[123] + r[109]
            r[125] = r[124] - r[69]
            r[126] = r[125] * r[125]
            r[127] = r[89] * r[101]
            r[128] = input[2]
            r[129] = safe_div(r[128], r[104])
            r[130] = r[129] + r[127]
            r[131] = r[130] * r[108]
            r[132] = r[257]
            # offset 0x85 (133): -7875.215433
            machine.status = eq(r[33], 0.0)
            r[135] = r[133] if machine.status else r[3]
            machine.status = eq(r[39], 0.0)
            r[137] = r[54] if machine.status else r[135]
            machine.status = eq(r[44], 0.0)
            r[139] = r[114] if machine.status else r[137]
            machine.status = eq(r[48], 0.0)
            r[141] = r[54] if machine.status else r[139]
            machine.status = eq(r[5], 0.0)
            r[143] = r[141] if machine.status else r[132]
            r[144] = r[143] * r[104]
            r[145] = r[88] + r[144]
            r[146] = r[145] + r[131]
            r[147] = r[146] - r[74]
            r[148] = r[147] * r[147]
            r[149] = r[148] + r[126]
            r[150] = sqrt(r[149])
            r[151] = r[150] - r[52]
            r[152] = r[3] - r[151]
            r[153] = r[151] - r[3]
            machine.status = lt(r[153], 0.0)
            r[155] = r[152] if machine.status else r[151]
            r[156] = r[25] + r[155]
            r[157] = r[105] * r[105]
            r[158] = r[129] * r[129]
            r[159] = r[158] + r[157]
            r[160] = sqrt(r[159])
            r[161] = r[160] - r[3]
            machine.status = eq(r[161], 0.0)
            r[163] = r[156] if machine.status else r[3]
            r[164] = r[155] - r[16]
            machine.status = lt(r[164], 0.0)
            r[166] = r[163] if machine.status else r[3]
            r[167] = r[69] - r[124]
            r[168] = r[167] * r[167]
            r[169] = r[74] - r[146]
            r[170] = r[169] * r[169]
            r[171] = r[170] + r[168]
            r[172] = sqrt(r[171])
            r[173] = r[172] * r[172]
            r[174] = r[173] * r[172]
            r[175] = safe_div(r[100], r[174])
            r[176] = r[167] * r[175]
            r[177] = r[176] + r[102]
            r[178] = safe_div(r[177], r[19])
            r[179] = r[105] + r[178]
            r[180] = r[179] * r[104]
            r[181] = r[121] + r[180]
            r[182] = r[169] * r[175]
            r[183] = r[182] + r[127]
            r[184] = safe_div(r[183], r[19])
            r[185] = r[129] + r[184]
            r[186] = r[185] * r[104]
            r[187] = r[143] + r[186]
            r[188] = r[256]
            # offset 0xbd (189): 1.000000
            machine.status = eq(r[33], 0.0)
            r[191] = r[189] if machine.status else r[3]
            machine.status = eq(r[39], 0.0)
            r[193] = r[189] if machine.status else r[191]
            machine.status = eq(r[44], 0.0)
            r[195] = r[189] if machine.status else r[193]
            machine.status = eq(r[48], 0.0)
            r[197] = r[189] if machine.status else r[195]
            machine.status = eq(r[5], 0.0)
            r[199] = r[197] if machine.status else r[188]
            r[200] = r[253]
            machine.status = eq(r[5], 0.0)
            r[202] = r[3] if machine.status else r[200]
            r[203] = r[252]
            machine.status = eq(r[5], 0.0)
            r[205] = r[3] if machine.status else r[203]
            r[206] = r[4] + r[0]
            r[207] = r[259]
            r[208] = r[207] + r[0]
            machine.status = eq(r[161], 0.0)
            r[210] = r[208] if machine.status else r[3]
            machine.status = lt(r[164], 0.0)
            r[212] = r[210] if machine.status else r[3]
            r[213] = r[261]
            # offset 0xd6 (214): 10000.000000
            machine.status = eq(r[5], 0.0)
            r[216] = r[214] if machine.status else r[213]
            r[217] = r[160] * r[104]
            r[218] = r[216] - r[217]
            # offset 0xdb (219): 25.000000
            # offset 0xdc (220): 45.000000
            r[221] = r[214] - r[218]
            r[222] = safe_div(r[221], r[214])
            r[223] = r[222] * r[220]
            r[224] = r[7] + r[223]
            r[225] = r[224] + r[219]
            # offset 0xe2 (226): 900.000000
            r[227] = safe_div(r[226], r[104])
            r[228] = r[227] - r[212]
            machine.status = lt(r[228], 0.0)
            r[230] = r[225] if machine.status else r[3]
            r[231] = r[218] - r[3]
            r[232] = r[242] - r[0]
            machine.status = lt(r[231], 0.0)
            r[234] = r[232] if machine.status else r[230]
            r[235] = r[214] - r[217]
            machine.status = lt(r[235], 0.0)
            r[237] = r[232] if machine.status else r[234]
            # offset 0xee (238): 6357000.000000
            r[239] = r[150] - r[238]
            machine.status = lt(r[239], 0.0)
            r[241] = r[232] if machine.status else r[237]
            # offset 0xf2 (242): 0.000000
            port[0] = r[241]
            port[1] = r[218]
            port[2] = r[169]
            port[3] = r[167]
            port[4] = r[52]
            r[248] = r[206]
            r[249] = r[74]
            r[250] = r[69]
            r[251] = r[98]
            r[252] = r[205]
            r[253] = r[202]
            r[254] = r[146]
            r[255] = r[124]
            r[256] = r[199]
            r[257] = r[187]
            r[258] = r[181]
            r[259] = r[212]
            r[260] = r[166]
            r[261] = r[218]
            r[262] = r[52]
            r[263] = r[24]
            r[264] = r[22]
            r[265] = r[14]
            yield port

    