#!/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_269 = SymVar_0
ref_284 = ref_269 # MOV operation
ref_12707 = ref_284 # MOV operation
ref_13492 = ref_12707 # MOV operation
ref_13500 = ((ref_13492 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_13507 = ref_13500 # MOV operation
ref_17001 = ref_284 # MOV operation
ref_17753 = ref_17001 # MOV operation
ref_17761 = (ref_17753 >> (0x3 & 0x3F)) # SHR operation
ref_17768 = ref_17761 # MOV operation
ref_18162 = ref_17768 # MOV operation
ref_18174 = ref_13507 # MOV operation
ref_18176 = (ref_18174 | ref_18162) # OR operation
ref_18595 = ref_18176 # MOV operation
ref_18609 = ((ref_18595 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_18617 = ref_18609 # MOV operation
ref_21956 = ref_18617 # MOV operation
ref_21958 = ((ref_21956 >> 56) & 0xFF) # Byte reference - MOV operation
ref_21959 = ((ref_21956 >> 48) & 0xFF) # Byte reference - MOV operation
ref_21960 = ((ref_21956 >> 40) & 0xFF) # Byte reference - MOV operation
ref_21961 = ((ref_21956 >> 32) & 0xFF) # Byte reference - MOV operation
ref_21962 = ((ref_21956 >> 24) & 0xFF) # Byte reference - MOV operation
ref_21963 = ((ref_21956 >> 16) & 0xFF) # Byte reference - MOV operation
ref_21964 = ((ref_21956 >> 8) & 0xFF) # Byte reference - MOV operation
ref_21965 = (ref_21956 & 0xFF) # Byte reference - MOV operation
ref_25714 = ref_21956 # MOV operation
ref_29201 = ref_284 # MOV operation
ref_29576 = ref_29201 # MOV operation
ref_29588 = ref_25714 # MOV operation
ref_29590 = (ref_29588 | ref_29576) # OR operation
ref_30009 = ref_29590 # MOV operation
ref_30023 = ((ref_30009 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_30031 = ref_30023 # MOV operation
ref_33370 = ref_30031 # MOV operation
ref_33372 = ((ref_33370 >> 56) & 0xFF) # Byte reference - MOV operation
ref_33373 = ((ref_33370 >> 48) & 0xFF) # Byte reference - MOV operation
ref_33374 = ((ref_33370 >> 40) & 0xFF) # Byte reference - MOV operation
ref_33375 = ((ref_33370 >> 32) & 0xFF) # Byte reference - MOV operation
ref_33376 = ((ref_33370 >> 24) & 0xFF) # Byte reference - MOV operation
ref_33377 = ((ref_33370 >> 16) & 0xFF) # Byte reference - MOV operation
ref_33378 = ((ref_33370 >> 8) & 0xFF) # Byte reference - MOV operation
ref_33379 = (ref_33370 & 0xFF) # Byte reference - MOV operation
ref_36904 = ref_284 # MOV operation
ref_40223 = ref_21956 # MOV operation
ref_40620 = ref_36904 # MOV operation
ref_40624 = ref_40223 # MOV operation
ref_40626 = (((sx(0x40, ref_40624) * sx(0x40, ref_40620)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_43966 = ref_33370 # MOV operation
ref_44751 = ref_43966 # MOV operation
ref_44759 = ((ref_44751 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_44766 = ref_44759 # MOV operation
ref_45170 = ref_40626 # MOV operation
ref_45174 = ref_44766 # MOV operation
ref_45176 = (((sx(0x40, ref_45174) * sx(0x40, ref_45170)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_48529 = ref_45176 # MOV operation
ref_52455 = ref_284 # MOV operation
ref_52849 = ref_52455 # MOV operation
ref_52863 = ((ref_52849 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_52871 = ref_52863 # MOV operation
ref_56210 = ref_52871 # MOV operation
ref_66277 = ((((ref_21958) << 8 | ref_21959) << 8 | ref_21960) << 8 | ref_21961) # MOV operation
ref_67122 = (ref_66277 & 0xFFFFFFFF) # MOV operation
ref_73280 = ((((ref_21962) << 8 | ref_21963) << 8 | ref_21964) << 8 | ref_21965) # MOV operation
ref_79420 = (ref_73280 & 0xFFFFFFFF) # MOV operation
ref_79422 = (((ref_79420 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_79423 = (((ref_79420 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_79424 = (((ref_79420 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_79425 = ((ref_79420 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_80283 = (ref_67122 & 0xFFFFFFFF) # MOV operation
ref_86423 = (ref_80283 & 0xFFFFFFFF) # MOV operation
ref_86425 = (((ref_86423 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_86426 = (((ref_86423 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_86427 = (((ref_86423 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_86428 = ((ref_86423 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_91011 = ref_48529 # MOV operation
ref_94330 = ref_48529 # MOV operation
ref_94678 = ref_91011 # MOV operation
ref_94682 = ref_94330 # MOV operation
ref_94684 = ((ref_94682 + ref_94678) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_95468 = ref_94684 # MOV operation
ref_95474 = (0x3F & ref_95468) # AND operation
ref_96283 = ref_95474 # MOV operation
ref_96291 = ((ref_96283 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_96298 = ref_96291 # MOV operation
ref_100069 = ((((((((ref_79422) << 8 | ref_79423) << 8 | ref_79424) << 8 | ref_79425) << 8 | ref_86425) << 8 | ref_86426) << 8 | ref_86427) << 8 | ref_86428) # MOV operation
ref_100444 = ref_100069 # MOV operation
ref_100456 = ref_96298 # MOV operation
ref_100458 = (ref_100456 | ref_100444) # OR operation
ref_104260 = ref_100458 # MOV operation
ref_115544 = ((((ref_33372) << 8 | ref_33373) << 8 | ref_33374) << 8 | ref_33375) # MOV operation
ref_116389 = (ref_115544 & 0xFFFFFFFF) # MOV operation
ref_122547 = ((((ref_33376) << 8 | ref_33377) << 8 | ref_33378) << 8 | ref_33379) # MOV operation
ref_128687 = (ref_122547 & 0xFFFFFFFF) # MOV operation
ref_128689 = (((ref_128687 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_128690 = (((ref_128687 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_128691 = (((ref_128687 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_128692 = ((ref_128687 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_129550 = (ref_116389 & 0xFFFFFFFF) # MOV operation
ref_135690 = (ref_129550 & 0xFFFFFFFF) # MOV operation
ref_135692 = (((ref_135690 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_135693 = (((ref_135690 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_135694 = (((ref_135690 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_135695 = ((ref_135690 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_140278 = ref_56210 # MOV operation
ref_143597 = ref_48529 # MOV operation
ref_143945 = ref_140278 # MOV operation
ref_143949 = ref_143597 # MOV operation
ref_143951 = ((ref_143949 + ref_143945) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_144735 = ref_143951 # MOV operation
ref_144741 = (0x3F & ref_144735) # AND operation
ref_145550 = ref_144741 # MOV operation
ref_145558 = ((ref_145550 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_145565 = ref_145558 # MOV operation
ref_149336 = ((((((((ref_128689) << 8 | ref_128690) << 8 | ref_128691) << 8 | ref_128692) << 8 | ref_135692) << 8 | ref_135693) << 8 | ref_135694) << 8 | ref_135695) # MOV operation
ref_149711 = ref_149336 # MOV operation
ref_149723 = ref_145565 # MOV operation
ref_149725 = (ref_149723 | ref_149711) # OR operation
ref_153527 = ref_149725 # MOV operation
ref_153529 = ((ref_153527 >> 56) & 0xFF) # Byte reference - MOV operation
ref_153530 = ((ref_153527 >> 48) & 0xFF) # Byte reference - MOV operation
ref_153531 = ((ref_153527 >> 40) & 0xFF) # Byte reference - MOV operation
ref_153532 = ((ref_153527 >> 32) & 0xFF) # Byte reference - MOV operation
ref_153533 = ((ref_153527 >> 24) & 0xFF) # Byte reference - MOV operation
ref_153534 = ((ref_153527 >> 16) & 0xFF) # Byte reference - MOV operation
ref_153535 = ((ref_153527 >> 8) & 0xFF) # Byte reference - MOV operation
ref_153536 = (ref_153527 & 0xFF) # Byte reference - MOV operation
ref_165579 = ref_153531 # MOVZX operation
ref_165917 = (ref_165579 & 0xFF) # MOVZX operation
ref_176864 = ref_153535 # MOVZX operation
ref_177202 = (ref_176864 & 0xFF) # MOVZX operation
ref_177204 = (ref_177202 & 0xFF) # Byte reference - MOV operation
ref_183299 = (ref_165917 & 0xFF) # MOVZX operation
ref_183637 = (ref_183299 & 0xFF) # MOVZX operation
ref_183639 = (ref_183637 & 0xFF) # Byte reference - MOV operation
ref_186955 = ref_104260 # MOV operation
ref_190274 = ((((((((ref_153529) << 8 | ref_153530) << 8 | ref_177204) << 8 | ref_153532) << 8 | ref_153533) << 8 | ref_153534) << 8 | ref_183639) << 8 | ref_153536) # MOV operation
ref_190622 = ref_186955 # MOV operation
ref_190626 = ref_190274 # MOV operation
ref_190628 = ((ref_190626 + ref_190622) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_194365 = ref_48529 # MOV operation
ref_197684 = ref_56210 # MOV operation
ref_198050 = ref_194365 # MOV operation
ref_198054 = ref_197684 # MOV operation
ref_198056 = (ref_198054 & ref_198050) # AND operation
ref_198838 = ref_198056 # MOV operation
ref_198844 = (0xF & ref_198838) # AND operation
ref_199243 = ref_198844 # MOV operation
ref_199257 = (0x1 | ref_199243) # OR operation
ref_200080 = ref_199257 # MOV operation
ref_200082 = ((0x40 - ref_200080) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_200090 = ref_200082 # MOV operation
ref_200457 = ref_190628 # MOV operation
ref_200461 = ref_200090 # MOV operation
ref_200463 = (ref_200461 & 0xFFFFFFFF) # MOV operation
ref_200465 = (ref_200457 >> ((ref_200463 & 0xFF) & 0x3F)) # SHR operation
ref_200472 = ref_200465 # MOV operation
ref_203810 = ref_104260 # MOV operation
ref_207129 = ((((((((ref_153529) << 8 | ref_153530) << 8 | ref_177204) << 8 | ref_153532) << 8 | ref_153533) << 8 | ref_153534) << 8 | ref_183639) << 8 | ref_153536) # MOV operation
ref_207477 = ref_203810 # MOV operation
ref_207481 = ref_207129 # MOV operation
ref_207483 = ((ref_207481 + ref_207477) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_211220 = ref_48529 # MOV operation
ref_214539 = ref_56210 # MOV operation
ref_214905 = ref_211220 # MOV operation
ref_214909 = ref_214539 # MOV operation
ref_214911 = (ref_214909 & ref_214905) # AND operation
ref_215693 = ref_214911 # MOV operation
ref_215699 = (0xF & ref_215693) # AND operation
ref_216098 = ref_215699 # MOV operation
ref_216112 = (0x1 | ref_216098) # OR operation
ref_216530 = ref_207483 # MOV operation
ref_216534 = ref_216112 # MOV operation
ref_216536 = (ref_216534 & 0xFFFFFFFF) # MOV operation
ref_216538 = ((ref_216530 << ((ref_216536 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_216545 = ref_216538 # MOV operation
ref_216927 = ref_216545 # MOV operation
ref_216939 = ref_200472 # MOV operation
ref_216941 = (ref_216939 | ref_216927) # OR operation
ref_220497 = ref_216941 # MOV operation
ref_221321 = ref_220497 # MOV operation
ref_221323 = ref_221321 # MOV operation

print ref_221323 & 0xffffffffffffffff
