#!/usr/bin/env python2
## -*- coding: utf-8 -*-

import sys

def sx(bits, value):
    sign_bit = 1 << (bits - 1)
    return (value & (sign_bit - 1)) - (value & sign_bit)

SymVar_0 = int(sys.argv[1])
ref_263 = SymVar_0
ref_278 = ref_263 # MOV operation
ref_66330 = ref_278 # MOV operation
ref_74496 = ref_66330 # MOV operation
ref_74502 = ((0x3F22161B + ref_74496) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_78622 = ref_74502 # MOV operation
ref_152674 = ref_78622 # MOV operation
ref_156754 = ref_152674 # MOV operation
ref_156756 = (((sx(0x40, ref_156754) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_160858 = ref_156756 # MOV operation
ref_160860 = (((sx(0x40, ref_160858) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_169066 = ref_160860 # MOV operation
ref_169074 = (ref_169066 >> (0x1 & 0x3F)) # SHR operation
ref_169081 = ref_169074 # MOV operation
ref_173196 = ref_169081 # MOV operation
ref_173210 = (0xF & ref_173196) # AND operation
ref_181446 = ref_173210 # MOV operation
ref_181452 = (0x1 | ref_181446) # OR operation
ref_218433 = ref_278 # MOV operation
ref_222528 = ref_218433 # MOV operation
ref_222542 = ((ref_222528 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_255415 = ref_278 # MOV operation
ref_263599 = ref_255415 # MOV operation
ref_263607 = (ref_263599 >> (0x39 & 0x3F)) # SHR operation
ref_263614 = ref_263607 # MOV operation
ref_267737 = ref_222542 # MOV operation
ref_267741 = ref_263614 # MOV operation
ref_267743 = (ref_267741 | ref_267737) # OR operation
ref_271863 = ref_267743 # MOV operation
ref_271875 = ref_181452 # MOV operation
ref_271877 = ((ref_271863 << ((ref_271875 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_308858 = ref_278 # MOV operation
ref_312953 = ref_308858 # MOV operation
ref_312967 = ((ref_312953 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_345840 = ref_278 # MOV operation
ref_354024 = ref_345840 # MOV operation
ref_354032 = (ref_354024 >> (0x39 & 0x3F)) # SHR operation
ref_354039 = ref_354032 # MOV operation
ref_358162 = ref_312967 # MOV operation
ref_358166 = ref_354039 # MOV operation
ref_358168 = (ref_358166 | ref_358162) # OR operation
ref_403414 = ref_78622 # MOV operation
ref_407494 = ref_403414 # MOV operation
ref_407496 = (((sx(0x40, ref_407494) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_411598 = ref_407496 # MOV operation
ref_411600 = (((sx(0x40, ref_411598) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_419806 = ref_411600 # MOV operation
ref_419814 = (ref_419806 >> (0x1 & 0x3F)) # SHR operation
ref_419821 = ref_419814 # MOV operation
ref_423936 = ref_419821 # MOV operation
ref_423950 = (0xF & ref_423936) # AND operation
ref_432186 = ref_423950 # MOV operation
ref_432192 = (0x1 | ref_432186) # OR operation
ref_440423 = ref_432192 # MOV operation
ref_440425 = ((0x40 - ref_440423) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_440433 = ref_440425 # MOV operation
ref_444529 = ref_358168 # MOV operation
ref_444533 = ref_440433 # MOV operation
ref_444535 = (ref_444533 & 0xFFFFFFFF) # MOV operation
ref_444537 = (ref_444529 >> ((ref_444535 & 0xFF) & 0x3F)) # SHR operation
ref_444544 = ref_444537 # MOV operation
ref_448667 = ref_271877 # MOV operation
ref_448671 = ref_444544 # MOV operation
ref_448673 = (ref_448671 | ref_448667) # OR operation
ref_452792 = ref_448673 # MOV operation
ref_514471 = ref_278 # MOV operation
ref_547368 = ref_452792 # MOV operation
ref_555534 = ref_547368 # MOV operation
ref_555540 = ((0xAD6EED + ref_555534) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_559624 = ref_514471 # MOV operation
ref_559628 = ref_555540 # MOV operation
ref_559630 = ((ref_559628 + ref_559624) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_563750 = ref_559630 # MOV operation
ref_625429 = ref_278 # MOV operation
ref_658326 = ref_78622 # MOV operation
ref_662429 = ref_625429 # MOV operation
ref_662433 = ref_658326 # MOV operation
ref_662435 = (ref_662433 | ref_662429) # OR operation
ref_695357 = ref_452792 # MOV operation
ref_703523 = ref_695357 # MOV operation
ref_703529 = ((0x2B6B05ED + ref_703523) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_736452 = ref_563750 # MOV operation
ref_740547 = ref_736452 # MOV operation
ref_740559 = ref_703529 # MOV operation
ref_740561 = (ref_740559 & ref_740547) # AND operation
ref_744644 = ref_662435 # MOV operation
ref_744648 = ref_740561 # MOV operation
ref_744650 = ((ref_744648 + ref_744644) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_748770 = ref_744650 # MOV operation
ref_810498 = ref_748770 # MOV operation
ref_851611 = ref_563750 # MOV operation
ref_855706 = ref_851611 # MOV operation
ref_855720 = (0x3F & ref_855706) # AND operation
ref_859840 = ref_855720 # MOV operation
ref_859854 = ((ref_859840 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_863982 = ref_810498 # MOV operation
ref_863986 = ref_859854 # MOV operation
ref_863988 = (ref_863986 | ref_863982) # OR operation
ref_868107 = ref_863988 # MOV operation
ref_933903 = ref_452792 # MOV operation
ref_942087 = ref_933903 # MOV operation
ref_942095 = (ref_942087 >> (0x4 & 0x3F)) # SHR operation
ref_942102 = ref_942095 # MOV operation
ref_946217 = ref_942102 # MOV operation
ref_946231 = (0xF & ref_946217) # AND operation
ref_954467 = ref_946231 # MOV operation
ref_954473 = (0x1 | ref_954467) # OR operation
ref_987395 = ref_78622 # MOV operation
ref_991490 = ref_987395 # MOV operation
ref_991502 = ref_954473 # MOV operation
ref_991504 = ((ref_991490 << ((ref_991502 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_1024426 = ref_78622 # MOV operation
ref_1061431 = ref_452792 # MOV operation
ref_1069615 = ref_1061431 # MOV operation
ref_1069623 = (ref_1069615 >> (0x4 & 0x3F)) # SHR operation
ref_1069630 = ref_1069623 # MOV operation
ref_1073745 = ref_1069630 # MOV operation
ref_1073759 = (0xF & ref_1073745) # AND operation
ref_1081995 = ref_1073759 # MOV operation
ref_1082001 = (0x1 | ref_1081995) # OR operation
ref_1090232 = ref_1082001 # MOV operation
ref_1090234 = ((0x40 - ref_1090232) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_1090242 = ref_1090234 # MOV operation
ref_1094338 = ref_1024426 # MOV operation
ref_1094342 = ref_1090242 # MOV operation
ref_1094344 = (ref_1094342 & 0xFFFFFFFF) # MOV operation
ref_1094346 = (ref_1094338 >> ((ref_1094344 & 0xFF) & 0x3F)) # SHR operation
ref_1094353 = ref_1094346 # MOV operation
ref_1098476 = ref_991504 # MOV operation
ref_1098480 = ref_1094353 # MOV operation
ref_1098482 = (ref_1098480 | ref_1098476) # OR operation
ref_1131404 = ref_563750 # MOV operation
ref_1164301 = ref_868107 # MOV operation
ref_1168359 = ref_1131404 # MOV operation
ref_1168363 = ref_1164301 # MOV operation
ref_1168365 = ((ref_1168363 + ref_1168359) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_1172467 = ref_1098482 # MOV operation
ref_1172471 = ref_1168365 # MOV operation
ref_1172473 = (((sx(0x40, ref_1172471) * sx(0x40, ref_1172467)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_1176589 = ref_1172473 # MOV operation
ref_1184748 = ref_1176589 # MOV operation
ref_1184750 = ref_1184748 # MOV operation

print ref_1184750 & 0xffffffffffffffff
