#!/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_17021 = ref_278 # MOV operation
ref_18301 = ref_17021 # MOV operation
ref_18309 = (ref_18301 >> (0x3 & 0x3F)) # SHR operation
ref_18316 = ref_18309 # MOV operation
ref_24982 = ref_278 # MOV operation
ref_25325 = ref_24982 # MOV operation
ref_25339 = ((ref_25325 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_26039 = ref_18316 # MOV operation
ref_26043 = ref_25339 # MOV operation
ref_26045 = (ref_26043 | ref_26039) # OR operation
ref_26451 = ref_26045 # MOV operation
ref_26465 = ((ref_26451 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_26473 = ref_26465 # MOV operation
ref_27282 = ref_26473 # MOV operation
ref_27284 = ((ref_27282 >> 56) & 0xFF) # Byte reference - MOV operation
ref_27285 = ((ref_27282 >> 48) & 0xFF) # Byte reference - MOV operation
ref_27286 = ((ref_27282 >> 40) & 0xFF) # Byte reference - MOV operation
ref_27287 = ((ref_27282 >> 32) & 0xFF) # Byte reference - MOV operation
ref_27288 = ((ref_27282 >> 24) & 0xFF) # Byte reference - MOV operation
ref_27289 = ((ref_27282 >> 16) & 0xFF) # Byte reference - MOV operation
ref_27290 = ((ref_27282 >> 8) & 0xFF) # Byte reference - MOV operation
ref_27291 = (ref_27282 & 0xFF) # Byte reference - MOV operation
ref_38893 = ref_278 # MOV operation
ref_44581 = ref_27282 # MOV operation
ref_45256 = ref_38893 # MOV operation
ref_45260 = ref_44581 # MOV operation
ref_45262 = (ref_45260 | ref_45256) # OR operation
ref_45668 = ref_45262 # MOV operation
ref_45682 = ((ref_45668 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_45690 = ref_45682 # MOV operation
ref_46499 = ref_45690 # MOV operation
ref_46501 = ((ref_46499 >> 56) & 0xFF) # Byte reference - MOV operation
ref_46502 = ((ref_46499 >> 48) & 0xFF) # Byte reference - MOV operation
ref_46503 = ((ref_46499 >> 40) & 0xFF) # Byte reference - MOV operation
ref_46504 = ((ref_46499 >> 32) & 0xFF) # Byte reference - MOV operation
ref_46505 = ((ref_46499 >> 24) & 0xFF) # Byte reference - MOV operation
ref_46506 = ((ref_46499 >> 16) & 0xFF) # Byte reference - MOV operation
ref_46507 = ((ref_46499 >> 8) & 0xFF) # Byte reference - MOV operation
ref_46508 = (ref_46499 & 0xFF) # Byte reference - MOV operation
ref_57327 = ref_278 # MOV operation
ref_63015 = ref_27282 # MOV operation
ref_63550 = ref_57327 # MOV operation
ref_63554 = ref_63015 # MOV operation
ref_63556 = (((sx(0x40, ref_63554) * sx(0x40, ref_63550)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_70049 = ref_46499 # MOV operation
ref_70392 = ref_70049 # MOV operation
ref_70406 = ((ref_70392 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_70966 = ref_63556 # MOV operation
ref_70970 = ref_70406 # MOV operation
ref_70972 = (((sx(0x40, ref_70970) * sx(0x40, ref_70966)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_71783 = ref_70972 # MOV operation
ref_83394 = ref_278 # MOV operation
ref_83775 = ref_83394 # MOV operation
ref_83789 = ((ref_83775 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_83797 = ref_83789 # MOV operation
ref_84606 = ref_83797 # MOV operation
ref_101649 = ((((ref_27284) << 8 | ref_27285) << 8 | ref_27286) << 8 | ref_27287) # MOV operation
ref_103083 = (ref_101649 & 0xFFFFFFFF) # MOV operation
ref_113242 = ((((ref_27288) << 8 | ref_27289) << 8 | ref_27290) << 8 | ref_27291) # MOV operation
ref_123319 = (ref_113242 & 0xFFFFFFFF) # MOV operation
ref_123321 = (((ref_123319 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_123322 = (((ref_123319 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_123323 = (((ref_123319 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_123324 = ((ref_123319 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_124835 = (ref_103083 & 0xFFFFFFFF) # MOV operation
ref_134912 = (ref_124835 & 0xFFFFFFFF) # MOV operation
ref_134914 = (((ref_134912 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_134915 = (((ref_134912 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_134916 = (((ref_134912 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_134917 = ((ref_134912 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_147071 = ((((((((ref_123321) << 8 | ref_123322) << 8 | ref_123323) << 8 | ref_123324) << 8 | ref_134914) << 8 | ref_134915) << 8 | ref_134916) << 8 | ref_134917) # MOV operation
ref_155717 = ref_71783 # MOV operation
ref_161405 = ref_71783 # MOV operation
ref_162010 = ref_155717 # MOV operation
ref_162014 = ref_161405 # MOV operation
ref_162016 = ((ref_162014 + ref_162010) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_163576 = ref_162016 # MOV operation
ref_163582 = (0x3F & ref_163576) # AND operation
ref_163950 = ref_163582 # MOV operation
ref_163964 = ((ref_163950 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_164664 = ref_147071 # MOV operation
ref_164668 = ref_163964 # MOV operation
ref_164670 = (ref_164668 | ref_164664) # OR operation
ref_165484 = ref_164670 # MOV operation
ref_184702 = ((((ref_46501) << 8 | ref_46502) << 8 | ref_46503) << 8 | ref_46504) # MOV operation
ref_186136 = (ref_184702 & 0xFFFFFFFF) # MOV operation
ref_196295 = ((((ref_46505) << 8 | ref_46506) << 8 | ref_46507) << 8 | ref_46508) # MOV operation
ref_206372 = (ref_196295 & 0xFFFFFFFF) # MOV operation
ref_206374 = (((ref_206372 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_206375 = (((ref_206372 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_206376 = (((ref_206372 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_206377 = ((ref_206372 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_207888 = (ref_186136 & 0xFFFFFFFF) # MOV operation
ref_217965 = (ref_207888 & 0xFFFFFFFF) # MOV operation
ref_217967 = (((ref_217965 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_217968 = (((ref_217965 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_217969 = (((ref_217965 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_217970 = ((ref_217965 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_230124 = ((((((((ref_206374) << 8 | ref_206375) << 8 | ref_206376) << 8 | ref_206377) << 8 | ref_217967) << 8 | ref_217968) << 8 | ref_217969) << 8 | ref_217970) # MOV operation
ref_238770 = ref_84606 # MOV operation
ref_244458 = ref_71783 # MOV operation
ref_245063 = ref_238770 # MOV operation
ref_245067 = ref_244458 # MOV operation
ref_245069 = ((ref_245067 + ref_245063) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_246629 = ref_245069 # MOV operation
ref_246635 = (0x3F & ref_246629) # AND operation
ref_247003 = ref_246635 # MOV operation
ref_247017 = ((ref_247003 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_247717 = ref_230124 # MOV operation
ref_247721 = ref_247017 # MOV operation
ref_247723 = (ref_247721 | ref_247717) # OR operation
ref_248537 = ref_247723 # MOV operation
ref_248539 = ((ref_248537 >> 56) & 0xFF) # Byte reference - MOV operation
ref_248540 = ((ref_248537 >> 48) & 0xFF) # Byte reference - MOV operation
ref_248541 = ((ref_248537 >> 40) & 0xFF) # Byte reference - MOV operation
ref_248542 = ((ref_248537 >> 32) & 0xFF) # Byte reference - MOV operation
ref_248543 = ((ref_248537 >> 24) & 0xFF) # Byte reference - MOV operation
ref_248544 = ((ref_248537 >> 16) & 0xFF) # Byte reference - MOV operation
ref_248545 = ((ref_248537 >> 8) & 0xFF) # Byte reference - MOV operation
ref_248546 = (ref_248537 & 0xFF) # Byte reference - MOV operation
ref_267733 = ref_248541 # MOVZX operation
ref_269233 = (ref_267733 & 0xFF) # MOVZX operation
ref_278163 = ref_248545 # MOVZX operation
ref_287551 = (ref_278163 & 0xFF) # MOVZX operation
ref_287553 = (ref_287551 & 0xFF) # Byte reference - MOV operation
ref_288593 = (ref_269233 & 0xFF) # MOVZX operation
ref_297981 = (ref_288593 & 0xFF) # MOVZX operation
ref_297983 = (ref_297981 & 0xFF) # Byte reference - MOV operation
ref_308810 = ref_71783 # MOV operation
ref_314498 = ref_84606 # MOV operation
ref_315249 = ref_308810 # MOV operation
ref_315253 = ref_314498 # MOV operation
ref_315255 = (ref_315253 & ref_315249) # AND operation
ref_316814 = ref_315255 # MOV operation
ref_316820 = (0xF & ref_316814) # AND operation
ref_318303 = ref_316820 # MOV operation
ref_318309 = (0x1 | ref_318303) # OR operation
ref_324022 = ref_165484 # MOV operation
ref_329710 = ((((((((ref_248539) << 8 | ref_248540) << 8 | ref_287553) << 8 | ref_248542) << 8 | ref_248543) << 8 | ref_248544) << 8 | ref_297983) << 8 | ref_248546) # MOV operation
ref_330315 = ref_324022 # MOV operation
ref_330319 = ref_329710 # MOV operation
ref_330321 = ((ref_330319 + ref_330315) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_330690 = ref_330321 # MOV operation
ref_330702 = ref_318309 # MOV operation
ref_330704 = ((ref_330690 << ((ref_330702 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_336417 = ref_165484 # MOV operation
ref_342105 = ((((((((ref_248539) << 8 | ref_248540) << 8 | ref_287553) << 8 | ref_248542) << 8 | ref_248543) << 8 | ref_248544) << 8 | ref_297983) << 8 | ref_248546) # MOV operation
ref_342710 = ref_336417 # MOV operation
ref_342714 = ref_342105 # MOV operation
ref_342716 = ((ref_342714 + ref_342710) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_348430 = ref_71783 # MOV operation
ref_354118 = ref_84606 # MOV operation
ref_354869 = ref_348430 # MOV operation
ref_354873 = ref_354118 # MOV operation
ref_354875 = (ref_354873 & ref_354869) # AND operation
ref_356434 = ref_354875 # MOV operation
ref_356440 = (0xF & ref_356434) # AND operation
ref_357923 = ref_356440 # MOV operation
ref_357929 = (0x1 | ref_357923) # OR operation
ref_359130 = ref_357929 # MOV operation
ref_359132 = ((0x40 - ref_359130) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_359140 = ref_359132 # MOV operation
ref_359657 = ref_342716 # MOV operation
ref_359661 = ref_359140 # MOV operation
ref_359663 = (ref_359661 & 0xFFFFFFFF) # MOV operation
ref_359665 = (ref_359657 >> ((ref_359663 & 0xFF) & 0x3F)) # SHR operation
ref_359672 = ref_359665 # MOV operation
ref_360367 = ref_330704 # MOV operation
ref_360371 = ref_359672 # MOV operation
ref_360373 = (ref_360371 | ref_360367) # OR operation
ref_361187 = ref_360373 # MOV operation
ref_362294 = ref_361187 # MOV operation
ref_362296 = ref_362294 # MOV operation

print ref_362296 & 0xffffffffffffffff
