#!/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_11281 = ref_278 # MOV operation
ref_11591 = ref_11281 # MOV operation
ref_11609 = (ref_11591 >> (0x3 & 0x3F)) # SHR operation
ref_11616 = ref_11609 # MOV operation
ref_15170 = ref_278 # MOV operation
ref_15520 = ref_15170 # MOV operation
ref_15538 = ((ref_15520 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_15545 = ref_15538 # MOV operation
ref_15956 = ref_11616 # MOV operation
ref_15962 = ref_15545 # MOV operation
ref_15964 = (ref_15962 | ref_15956) # OR operation
ref_16792 = ref_15964 # MOV operation
ref_16800 = ((ref_16792 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16808 = ref_16800 # MOV operation
ref_17247 = ref_16808 # MOV operation
ref_17249 = ((ref_17247 >> 56) & 0xFF) # Byte reference - MOV operation
ref_17250 = ((ref_17247 >> 48) & 0xFF) # Byte reference - MOV operation
ref_17251 = ((ref_17247 >> 40) & 0xFF) # Byte reference - MOV operation
ref_17252 = ((ref_17247 >> 32) & 0xFF) # Byte reference - MOV operation
ref_17253 = ((ref_17247 >> 24) & 0xFF) # Byte reference - MOV operation
ref_17254 = ((ref_17247 >> 16) & 0xFF) # Byte reference - MOV operation
ref_17255 = ((ref_17247 >> 8) & 0xFF) # Byte reference - MOV operation
ref_17256 = (ref_17247 & 0xFF) # Byte reference - MOV operation
ref_23331 = ref_278 # MOV operation
ref_26637 = ref_17247 # MOV operation
ref_27007 = ref_23331 # MOV operation
ref_27013 = ref_26637 # MOV operation
ref_27015 = (ref_27013 | ref_27007) # OR operation
ref_27853 = ref_27015 # MOV operation
ref_27861 = ((ref_27853 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_27869 = ref_27861 # MOV operation
ref_28237 = ref_27869 # MOV operation
ref_28239 = ((ref_28237 >> 56) & 0xFF) # Byte reference - MOV operation
ref_28240 = ((ref_28237 >> 48) & 0xFF) # Byte reference - MOV operation
ref_28241 = ((ref_28237 >> 40) & 0xFF) # Byte reference - MOV operation
ref_28242 = ((ref_28237 >> 32) & 0xFF) # Byte reference - MOV operation
ref_28243 = ((ref_28237 >> 24) & 0xFF) # Byte reference - MOV operation
ref_28244 = ((ref_28237 >> 16) & 0xFF) # Byte reference - MOV operation
ref_28245 = ((ref_28237 >> 8) & 0xFF) # Byte reference - MOV operation
ref_28246 = (ref_28237 & 0xFF) # Byte reference - MOV operation
ref_34888 = ref_28237 # MOV operation
ref_35264 = ref_34888 # MOV operation
ref_35282 = ((ref_35264 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_35289 = ref_35282 # MOV operation
ref_38585 = ref_17247 # MOV operation
ref_41810 = ref_278 # MOV operation
ref_42198 = ref_41810 # MOV operation
ref_42212 = ref_38585 # MOV operation
ref_42214 = (((sx(0x40, ref_42212) * sx(0x40, ref_42198)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_42637 = ref_42214 # MOV operation
ref_42651 = ref_35289 # MOV operation
ref_42653 = (((sx(0x40, ref_42651) * sx(0x40, ref_42637)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_43033 = ref_42653 # MOV operation
ref_49165 = ref_278 # MOV operation
ref_49928 = ref_49165 # MOV operation
ref_49936 = ((ref_49928 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_49944 = ref_49936 # MOV operation
ref_50384 = ref_49944 # MOV operation
ref_60534 = ((((ref_17249) << 8 | ref_17250) << 8 | ref_17251) << 8 | ref_17252) # MOV operation
ref_60952 = (ref_60534 & 0xFFFFFFFF) # MOV operation
ref_72750 = ((((ref_17253) << 8 | ref_17254) << 8 | ref_17255) << 8 | ref_17256) # MOV operation
ref_73116 = (ref_72750 & 0xFFFFFFFF) # MOV operation
ref_73118 = (((ref_73116 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_73119 = (((ref_73116 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_73120 = (((ref_73116 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_73121 = ((ref_73116 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_79602 = (ref_60952 & 0xFFFFFFFF) # MOV operation
ref_79968 = (ref_79602 & 0xFFFFFFFF) # MOV operation
ref_79970 = (((ref_79968 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_79971 = (((ref_79968 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_79972 = (((ref_79968 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_79973 = ((ref_79968 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_87002 = ((((((((ref_73118) << 8 | ref_73119) << 8 | ref_73120) << 8 | ref_73121) << 8 | ref_79970) << 8 | ref_79971) << 8 | ref_79972) << 8 | ref_79973) # MOV operation
ref_91908 = ref_43033 # MOV operation
ref_95207 = ref_43033 # MOV operation
ref_95660 = ref_91908 # MOV operation
ref_95666 = ref_95207 # MOV operation
ref_95668 = ((ref_95666 + ref_95660) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_96471 = ref_95668 # MOV operation
ref_96479 = (0x3F & ref_96471) # AND operation
ref_96900 = ref_96479 # MOV operation
ref_96918 = ((ref_96900 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_96925 = ref_96918 # MOV operation
ref_97305 = ref_87002 # MOV operation
ref_97311 = ref_96925 # MOV operation
ref_97313 = (ref_97311 | ref_97305) # OR operation
ref_97716 = ref_97313 # MOV operation
ref_109058 = ((((ref_28239) << 8 | ref_28240) << 8 | ref_28241) << 8 | ref_28242) # MOV operation
ref_109425 = (ref_109058 & 0xFFFFFFFF) # MOV operation
ref_121144 = ((((ref_28243) << 8 | ref_28244) << 8 | ref_28245) << 8 | ref_28246) # MOV operation
ref_121508 = (ref_121144 & 0xFFFFFFFF) # MOV operation
ref_121510 = (((ref_121508 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_121511 = (((ref_121508 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_121512 = (((ref_121508 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_121513 = ((ref_121508 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_127989 = (ref_109425 & 0xFFFFFFFF) # MOV operation
ref_128351 = (ref_127989 & 0xFFFFFFFF) # MOV operation
ref_128353 = (((ref_128351 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_128354 = (((ref_128351 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_128355 = (((ref_128351 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_128356 = ((ref_128351 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_135277 = ((((((((ref_121510) << 8 | ref_121511) << 8 | ref_121512) << 8 | ref_121513) << 8 | ref_128353) << 8 | ref_128354) << 8 | ref_128355) << 8 | ref_128356) # MOV operation
ref_140156 = ref_50384 # MOV operation
ref_143347 = ref_43033 # MOV operation
ref_143759 = ref_140156 # MOV operation
ref_143765 = ref_143347 # MOV operation
ref_143767 = ((ref_143765 + ref_143759) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_144578 = ref_143767 # MOV operation
ref_144586 = (0x3F & ref_144578) # AND operation
ref_144988 = ref_144586 # MOV operation
ref_145006 = ((ref_144988 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_145013 = ref_145006 # MOV operation
ref_145407 = ref_135277 # MOV operation
ref_145413 = ref_145013 # MOV operation
ref_145415 = (ref_145413 | ref_145407) # OR operation
ref_145852 = ref_145415 # MOV operation
ref_145854 = ((ref_145852 >> 56) & 0xFF) # Byte reference - MOV operation
ref_145855 = ((ref_145852 >> 48) & 0xFF) # Byte reference - MOV operation
ref_145856 = ((ref_145852 >> 40) & 0xFF) # Byte reference - MOV operation
ref_145857 = ((ref_145852 >> 32) & 0xFF) # Byte reference - MOV operation
ref_145858 = ((ref_145852 >> 24) & 0xFF) # Byte reference - MOV operation
ref_145859 = ((ref_145852 >> 16) & 0xFF) # Byte reference - MOV operation
ref_145860 = ((ref_145852 >> 8) & 0xFF) # Byte reference - MOV operation
ref_145861 = (ref_145852 & 0xFF) # Byte reference - MOV operation
ref_157474 = ref_145856 # MOVZX operation
ref_157864 = (ref_157474 & 0xFF) # MOVZX operation
ref_168817 = ref_145860 # MOVZX operation
ref_169220 = (ref_168817 & 0xFF) # MOVZX operation
ref_169222 = (ref_169220 & 0xFF) # Byte reference - MOV operation
ref_175216 = (ref_157864 & 0xFF) # MOVZX operation
ref_175573 = (ref_175216 & 0xFF) # MOVZX operation
ref_175575 = (ref_175573 & 0xFF) # Byte reference - MOV operation
ref_181597 = ref_43033 # MOV operation
ref_184861 = ref_50384 # MOV operation
ref_185221 = ref_181597 # MOV operation
ref_185227 = ref_184861 # MOV operation
ref_185229 = (ref_185227 & ref_185221) # AND operation
ref_186082 = ref_185229 # MOV operation
ref_186090 = (0xF & ref_186082) # AND operation
ref_186898 = ref_186090 # MOV operation
ref_186906 = (0x1 | ref_186898) # OR operation
ref_190272 = ref_97716 # MOV operation
ref_193521 = ((((((((ref_145854) << 8 | ref_145855) << 8 | ref_169222) << 8 | ref_145857) << 8 | ref_145858) << 8 | ref_145859) << 8 | ref_175575) << 8 | ref_145861) # MOV operation
ref_193919 = ref_190272 # MOV operation
ref_193925 = ref_193521 # MOV operation
ref_193927 = ((ref_193925 + ref_193919) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_194298 = ref_193927 # MOV operation
ref_194312 = ref_186906 # MOV operation
ref_194314 = (ref_194312 & 0xFFFFFFFF) # MOV operation
ref_194316 = ((ref_194298 << ((ref_194314 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_194323 = ref_194316 # MOV operation
ref_198038 = ref_43033 # MOV operation
ref_201337 = ref_50384 # MOV operation
ref_201719 = ref_198038 # MOV operation
ref_201725 = ref_201337 # MOV operation
ref_201727 = (ref_201725 & ref_201719) # AND operation
ref_202529 = ref_201727 # MOV operation
ref_202537 = (0xF & ref_202529) # AND operation
ref_203387 = ref_202537 # MOV operation
ref_203395 = (0x1 | ref_203387) # OR operation
ref_203806 = ref_203395 # MOV operation
ref_203808 = ((0x40 - ref_203806) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_203816 = ref_203808 # MOV operation
ref_207124 = ref_97716 # MOV operation
ref_210373 = ((((((((ref_145854) << 8 | ref_145855) << 8 | ref_169222) << 8 | ref_145857) << 8 | ref_145858) << 8 | ref_145859) << 8 | ref_175575) << 8 | ref_145861) # MOV operation
ref_210780 = ref_207124 # MOV operation
ref_210786 = ref_210373 # MOV operation
ref_210788 = ((ref_210786 + ref_210780) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_211186 = ref_210788 # MOV operation
ref_211200 = ref_203816 # MOV operation
ref_211202 = (ref_211200 & 0xFFFFFFFF) # MOV operation
ref_211204 = (ref_211186 >> ((ref_211202 & 0xFF) & 0x3F)) # SHR operation
ref_211211 = ref_211204 # MOV operation
ref_211676 = ref_194323 # MOV operation
ref_211682 = ref_211211 # MOV operation
ref_211684 = (ref_211682 | ref_211676) # OR operation
ref_212078 = ref_211684 # MOV operation
ref_212925 = ref_212078 # MOV operation
ref_212927 = ref_212925 # MOV operation

print ref_212927 & 0xffffffffffffffff
