#!/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_18751 = ref_278 # MOV operation
ref_20341 = ref_18751 # MOV operation
ref_20349 = (ref_20341 >> (0x3 & 0x3F)) # SHR operation
ref_20356 = ref_20349 # MOV operation
ref_27210 = ref_278 # MOV operation
ref_28381 = ref_27210 # MOV operation
ref_28395 = ((ref_28381 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_29949 = ref_20356 # MOV operation
ref_29953 = ref_28395 # MOV operation
ref_29955 = (ref_29953 | ref_29949) # OR operation
ref_30401 = ref_29955 # MOV operation
ref_30415 = ((ref_30401 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_30423 = ref_30415 # MOV operation
ref_30622 = ref_30423 # MOV operation
ref_30624 = ((ref_30622 >> 56) & 0xFF) # Byte reference - MOV operation
ref_30625 = ((ref_30622 >> 48) & 0xFF) # Byte reference - MOV operation
ref_30626 = ((ref_30622 >> 40) & 0xFF) # Byte reference - MOV operation
ref_30627 = ((ref_30622 >> 32) & 0xFF) # Byte reference - MOV operation
ref_30628 = ((ref_30622 >> 24) & 0xFF) # Byte reference - MOV operation
ref_30629 = ((ref_30622 >> 16) & 0xFF) # Byte reference - MOV operation
ref_30630 = ((ref_30622 >> 8) & 0xFF) # Byte reference - MOV operation
ref_30631 = (ref_30622 & 0xFF) # Byte reference - MOV operation
ref_43963 = ref_278 # MOV operation
ref_51121 = ref_30622 # MOV operation
ref_52650 = ref_43963 # MOV operation
ref_52654 = ref_51121 # MOV operation
ref_52656 = (ref_52654 | ref_52650) # OR operation
ref_53102 = ref_52656 # MOV operation
ref_53116 = ((ref_53102 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_53124 = ref_53116 # MOV operation
ref_53323 = ref_53124 # MOV operation
ref_53325 = ((ref_53323 >> 56) & 0xFF) # Byte reference - MOV operation
ref_53326 = ((ref_53323 >> 48) & 0xFF) # Byte reference - MOV operation
ref_53327 = ((ref_53323 >> 40) & 0xFF) # Byte reference - MOV operation
ref_53328 = ((ref_53323 >> 32) & 0xFF) # Byte reference - MOV operation
ref_53329 = ((ref_53323 >> 24) & 0xFF) # Byte reference - MOV operation
ref_53330 = ((ref_53323 >> 16) & 0xFF) # Byte reference - MOV operation
ref_53331 = ((ref_53323 >> 8) & 0xFF) # Byte reference - MOV operation
ref_53332 = (ref_53323 & 0xFF) # Byte reference - MOV operation
ref_65703 = ref_278 # MOV operation
ref_72861 = ref_30622 # MOV operation
ref_73090 = ref_65703 # MOV operation
ref_73094 = ref_72861 # MOV operation
ref_73096 = (((sx(0x40, ref_73094) * sx(0x40, ref_73090)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_81237 = ref_53323 # MOV operation
ref_82408 = ref_81237 # MOV operation
ref_82422 = ((ref_82408 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_82676 = ref_73096 # MOV operation
ref_82680 = ref_82422 # MOV operation
ref_82682 = (((sx(0x40, ref_82680) * sx(0x40, ref_82676)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_82883 = ref_82682 # MOV operation
ref_96224 = ref_278 # MOV operation
ref_96645 = ref_96224 # MOV operation
ref_96659 = ((ref_96645 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_96667 = ref_96659 # MOV operation
ref_96866 = ref_96667 # MOV operation
ref_117593 = ((((ref_30624) << 8 | ref_30625) << 8 | ref_30626) << 8 | ref_30627) # MOV operation
ref_119391 = (ref_117593 & 0xFFFFFFFF) # MOV operation
ref_132574 = ((((ref_30628) << 8 | ref_30629) << 8 | ref_30630) << 8 | ref_30631) # MOV operation
ref_145495 = (ref_132574 & 0xFFFFFFFF) # MOV operation
ref_145497 = (((ref_145495 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_145498 = (((ref_145495 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_145499 = (((ref_145495 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_145500 = ((ref_145495 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_147555 = (ref_119391 & 0xFFFFFFFF) # MOV operation
ref_160476 = (ref_147555 & 0xFFFFFFFF) # MOV operation
ref_160478 = (((ref_160476 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_160479 = (((ref_160476 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_160480 = (((ref_160476 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_160481 = ((ref_160476 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_176103 = ((((((((ref_145497) << 8 | ref_145498) << 8 | ref_145499) << 8 | ref_145500) << 8 | ref_160478) << 8 | ref_160479) << 8 | ref_160480) << 8 | ref_160481) # MOV operation
ref_187477 = ref_82883 # MOV operation
ref_194635 = ref_82883 # MOV operation
ref_195914 = ref_187477 # MOV operation
ref_195918 = ref_194635 # MOV operation
ref_195920 = ((ref_195918 + ref_195914) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_197486 = ref_195920 # MOV operation
ref_197492 = (0x3F & ref_197486) # AND operation
ref_198688 = ref_197492 # MOV operation
ref_198702 = ((ref_198688 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_200256 = ref_176103 # MOV operation
ref_200260 = ref_198702 # MOV operation
ref_200262 = (ref_200260 | ref_200256) # OR operation
ref_200466 = ref_200262 # MOV operation
ref_224448 = ((((ref_53325) << 8 | ref_53326) << 8 | ref_53327) << 8 | ref_53328) # MOV operation
ref_226246 = (ref_224448 & 0xFFFFFFFF) # MOV operation
ref_239429 = ((((ref_53329) << 8 | ref_53330) << 8 | ref_53331) << 8 | ref_53332) # MOV operation
ref_252350 = (ref_239429 & 0xFFFFFFFF) # MOV operation
ref_252352 = (((ref_252350 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_252353 = (((ref_252350 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_252354 = (((ref_252350 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_252355 = ((ref_252350 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_254410 = (ref_226246 & 0xFFFFFFFF) # MOV operation
ref_267331 = (ref_254410 & 0xFFFFFFFF) # MOV operation
ref_267333 = (((ref_267331 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_267334 = (((ref_267331 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_267335 = (((ref_267331 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_267336 = ((ref_267331 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_282958 = ((((((((ref_252352) << 8 | ref_252353) << 8 | ref_252354) << 8 | ref_252355) << 8 | ref_267333) << 8 | ref_267334) << 8 | ref_267335) << 8 | ref_267336) # MOV operation
ref_294332 = ref_96866 # MOV operation
ref_301490 = ref_82883 # MOV operation
ref_302769 = ref_294332 # MOV operation
ref_302773 = ref_301490 # MOV operation
ref_302775 = ((ref_302773 + ref_302769) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_304341 = ref_302775 # MOV operation
ref_304347 = (0x3F & ref_304341) # AND operation
ref_305543 = ref_304347 # MOV operation
ref_305557 = ((ref_305543 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_307111 = ref_282958 # MOV operation
ref_307115 = ref_305557 # MOV operation
ref_307117 = (ref_307115 | ref_307111) # OR operation
ref_307321 = ref_307117 # MOV operation
ref_307323 = ((ref_307321 >> 56) & 0xFF) # Byte reference - MOV operation
ref_307324 = ((ref_307321 >> 48) & 0xFF) # Byte reference - MOV operation
ref_307325 = ((ref_307321 >> 40) & 0xFF) # Byte reference - MOV operation
ref_307326 = ((ref_307321 >> 32) & 0xFF) # Byte reference - MOV operation
ref_307327 = ((ref_307321 >> 24) & 0xFF) # Byte reference - MOV operation
ref_307328 = ((ref_307321 >> 16) & 0xFF) # Byte reference - MOV operation
ref_307329 = ((ref_307321 >> 8) & 0xFF) # Byte reference - MOV operation
ref_307330 = (ref_307321 & 0xFF) # Byte reference - MOV operation
ref_331821 = ref_307325 # MOVZX operation
ref_334515 = (ref_331821 & 0xFF) # MOVZX operation
ref_346761 = ref_307329 # MOVZX operation
ref_359595 = (ref_346761 & 0xFF) # MOVZX operation
ref_359597 = (ref_359595 & 0xFF) # Byte reference - MOV operation
ref_361701 = (ref_334515 & 0xFF) # MOVZX operation
ref_374535 = (ref_361701 & 0xFF) # MOVZX operation
ref_374537 = (ref_374535 & 0xFF) # Byte reference - MOV operation
ref_386916 = ref_82883 # MOV operation
ref_394074 = ref_96866 # MOV operation
ref_394653 = ref_386916 # MOV operation
ref_394657 = ref_394074 # MOV operation
ref_394659 = (ref_394657 & ref_394653) # AND operation
ref_396224 = ref_394659 # MOV operation
ref_396230 = (0xF & ref_396224) # AND operation
ref_398745 = ref_396230 # MOV operation
ref_398751 = (0x1 | ref_398745) # OR operation
ref_405934 = ref_200466 # MOV operation
ref_413092 = ((((((((ref_307323) << 8 | ref_307324) << 8 | ref_359597) << 8 | ref_307326) << 8 | ref_307327) << 8 | ref_307328) << 8 | ref_374537) << 8 | ref_307330) # MOV operation
ref_414371 = ref_405934 # MOV operation
ref_414375 = ref_413092 # MOV operation
ref_414377 = ((ref_414375 + ref_414371) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_415574 = ref_414377 # MOV operation
ref_415586 = ref_398751 # MOV operation
ref_415588 = ((ref_415574 << ((ref_415586 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_422771 = ref_200466 # MOV operation
ref_429929 = ((((((((ref_307323) << 8 | ref_307324) << 8 | ref_359597) << 8 | ref_307326) << 8 | ref_307327) << 8 | ref_307328) << 8 | ref_374537) << 8 | ref_307330) # MOV operation
ref_431208 = ref_422771 # MOV operation
ref_431212 = ref_429929 # MOV operation
ref_431214 = ((ref_431212 + ref_431208) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_438398 = ref_82883 # MOV operation
ref_445556 = ref_96866 # MOV operation
ref_446135 = ref_438398 # MOV operation
ref_446139 = ref_445556 # MOV operation
ref_446141 = (ref_446139 & ref_446135) # AND operation
ref_447706 = ref_446141 # MOV operation
ref_447712 = (0xF & ref_447706) # AND operation
ref_450227 = ref_447712 # MOV operation
ref_450233 = (0x1 | ref_450227) # OR operation
ref_451652 = ref_450233 # MOV operation
ref_451654 = ((0x40 - ref_451652) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_451662 = ref_451654 # MOV operation
ref_452311 = ref_431214 # MOV operation
ref_452315 = ref_451662 # MOV operation
ref_452317 = (ref_452315 & 0xFFFFFFFF) # MOV operation
ref_452319 = (ref_452311 >> ((ref_452317 & 0xFF) & 0x3F)) # SHR operation
ref_452326 = ref_452319 # MOV operation
ref_453875 = ref_415588 # MOV operation
ref_453879 = ref_452326 # MOV operation
ref_453881 = (ref_453879 | ref_453875) # OR operation
ref_454085 = ref_453881 # MOV operation
ref_456236 = ref_454085 # MOV operation
ref_456238 = ref_456236 # MOV operation

print ref_456238 & 0xffffffffffffffff
