#!/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_7026 = ref_278 # MOV operation
ref_7644 = ref_7026 # MOV operation
ref_7654 = ((ref_7644 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_7661 = ref_7654 # MOV operation
ref_10483 = ref_278 # MOV operation
ref_10765 = ref_10483 # MOV operation
ref_10783 = (ref_10765 >> (0x33 & 0x3F)) # SHR operation
ref_10790 = ref_10783 # MOV operation
ref_11102 = ref_7661 # MOV operation
ref_11108 = ref_10790 # MOV operation
ref_11110 = (ref_11108 | ref_11102) # OR operation
ref_13683 = ref_11110 # MOV operation
ref_16163 = ref_278 # MOV operation
ref_16786 = ref_16163 # MOV operation
ref_16796 = ((((0x0) << 64 | ref_16786) / 0x6) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_17415 = ref_16796 # MOV operation
ref_17423 = (((sx(0x40, 0xFA0000000002C90C) * sx(0x40, ref_17415)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_20012 = ref_17423 # MOV operation
ref_22600 = ref_13683 # MOV operation
ref_25138 = ref_20012 # MOV operation
ref_25435 = ref_22600 # MOV operation
ref_25441 = ref_25138 # MOV operation
ref_25443 = (ref_25441 | ref_25435) # OR operation
ref_27936 = ref_278 # MOV operation
ref_28242 = ref_27936 # MOV operation
ref_28256 = ref_25443 # MOV operation
ref_28258 = ((ref_28256 + ref_28242) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_30819 = ref_28258 # MOV operation
ref_34050 = ref_13683 # MOV operation
ref_34336 = ref_34050 # MOV operation
ref_34352 = ((ref_34336 - 0x2ED5CD7E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_34360 = ref_34352 # MOV operation
ref_34984 = ref_34360 # MOV operation
ref_34986 = ((0x28E5FC28 - ref_34984) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_34994 = ref_34986 # MOV operation
ref_35294 = ref_34994 # MOV operation
ref_35312 = (ref_35294 >> (0x2 & 0x3F)) # SHR operation
ref_35319 = ref_35312 # MOV operation
ref_35954 = ref_35319 # MOV operation
ref_35962 = (0x7 & ref_35954) # AND operation
ref_36585 = ref_35962 # MOV operation
ref_36593 = (0x1 | ref_36585) # OR operation
ref_39230 = ref_20012 # MOV operation
ref_41667 = ref_278 # MOV operation
ref_41957 = ref_41667 # MOV operation
ref_41971 = ref_39230 # MOV operation
ref_41973 = ((ref_41971 + ref_41957) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_42287 = ref_41973 # MOV operation
ref_42301 = ref_36593 # MOV operation
ref_42303 = (ref_42301 & 0xFFFFFFFF) # MOV operation
ref_42305 = (ref_42287 >> ((ref_42303 & 0xFF) & 0x3F)) # SHR operation
ref_42312 = ref_42305 # MOV operation
ref_44899 = ref_42312 # MOV operation
ref_47783 = ref_44899 # MOV operation
ref_48089 = ref_47783 # MOV operation
ref_48107 = (ref_48089 >> (0x1 & 0x3F)) # SHR operation
ref_48114 = ref_48107 # MOV operation
ref_48708 = ref_48114 # MOV operation
ref_48716 = (0x7 & ref_48708) # AND operation
ref_49354 = ref_48716 # MOV operation
ref_49362 = (0x1 | ref_49354) # OR operation
ref_51954 = ref_44899 # MOV operation
ref_52243 = ref_51954 # MOV operation
ref_52257 = ref_49362 # MOV operation
ref_52259 = (ref_52257 & 0xFFFFFFFF) # MOV operation
ref_52261 = (ref_52243 >> ((ref_52259 & 0xFF) & 0x3F)) # SHR operation
ref_52268 = ref_52261 # MOV operation
ref_54826 = ref_52268 # MOV operation
ref_54828 = ((ref_54826 >> 56) & 0xFF) # Byte reference - MOV operation
ref_54829 = ((ref_54826 >> 48) & 0xFF) # Byte reference - MOV operation
ref_54830 = ((ref_54826 >> 40) & 0xFF) # Byte reference - MOV operation
ref_54831 = ((ref_54826 >> 32) & 0xFF) # Byte reference - MOV operation
ref_54832 = ((ref_54826 >> 24) & 0xFF) # Byte reference - MOV operation
ref_54833 = ((ref_54826 >> 16) & 0xFF) # Byte reference - MOV operation
ref_54834 = ((ref_54826 >> 8) & 0xFF) # Byte reference - MOV operation
ref_54835 = (ref_54826 & 0xFF) # Byte reference - MOV operation
ref_60243 = ref_30819 # MOV operation
ref_63113 = ref_13683 # MOV operation
ref_63752 = ref_63113 # MOV operation
ref_63760 = (0x7 & ref_63752) # AND operation
ref_64359 = ref_63760 # MOV operation
ref_64369 = ((ref_64359 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_64376 = ref_64369 # MOV operation
ref_64693 = ref_60243 # MOV operation
ref_64699 = ref_64376 # MOV operation
ref_64701 = (ref_64699 | ref_64693) # OR operation
ref_67300 = ref_64701 # MOV operation
ref_72069 = ((((ref_54828) << 8 | ref_54829) << 8 | ref_54830) << 8 | ref_54831) # MOV operation
ref_72379 = (ref_72069 & 0xFFFFFFFF) # MOV operation
ref_80856 = ((((ref_54832) << 8 | ref_54833) << 8 | ref_54834) << 8 | ref_54835) # MOV operation
ref_81136 = (ref_80856 & 0xFFFFFFFF) # MOV operation
ref_85889 = (ref_72379 & 0xFFFFFFFF) # MOV operation
ref_86186 = (ref_85889 & 0xFFFFFFFF) # MOV operation
ref_92475 = ref_67300 # MOV operation
ref_95356 = ref_67300 # MOV operation
ref_95942 = ref_95356 # MOV operation
ref_95950 = (0x7 & ref_95942) # AND operation
ref_96565 = ref_95950 # MOV operation
ref_96575 = ((ref_96565 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_96582 = ref_96575 # MOV operation
ref_96900 = ref_92475 # MOV operation
ref_96906 = ref_96582 # MOV operation
ref_96908 = (ref_96906 | ref_96900) # OR operation
ref_99445 = ref_96908 # MOV operation
ref_104137 = (ref_81136 & 0xFFFFFFFF) # MOV operation
ref_104439 = (ref_104137 & 0xFFFFFFFF) # MOV operation
ref_112870 = (ref_86186 & 0xFFFFFFFF) # MOV operation
ref_113170 = (ref_112870 & 0xFFFFFFFF) # MOV operation
ref_113172 = (((ref_113170 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_113173 = (((ref_113170 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_113174 = (((ref_113170 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_113175 = ((ref_113170 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_117931 = (ref_104439 & 0xFFFFFFFF) # MOV operation
ref_118195 = (ref_117931 & 0xFFFFFFFF) # MOV operation
ref_118197 = (((ref_118195 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_118198 = (((ref_118195 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_118199 = (((ref_118195 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_118200 = ((ref_118195 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_125046 = ref_13683 # MOV operation
ref_127573 = ref_20012 # MOV operation
ref_127879 = ref_125046 # MOV operation
ref_127885 = ref_127573 # MOV operation
ref_127887 = (((sx(0x40, ref_127885) * sx(0x40, ref_127879)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_130420 = ((((((((ref_113172) << 8 | ref_113173) << 8 | ref_113174) << 8 | ref_113175) << 8 | ref_118197) << 8 | ref_118198) << 8 | ref_118199) << 8 | ref_118200) # MOV operation
ref_131038 = ref_130420 # MOV operation
ref_131046 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_131038)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_133588 = ref_99445 # MOV operation
ref_133864 = ref_133588 # MOV operation
ref_133878 = ref_131046 # MOV operation
ref_133880 = (ref_133878 ^ ref_133864) # XOR operation
ref_134493 = ref_133880 # MOV operation
ref_134501 = (0xF & ref_134493) # AND operation
ref_135116 = ref_134501 # MOV operation
ref_135124 = (0x1 | ref_135116) # OR operation
ref_135437 = ref_127887 # MOV operation
ref_135443 = ref_135124 # MOV operation
ref_135445 = (ref_135443 & 0xFFFFFFFF) # MOV operation
ref_135447 = ((ref_135437 << ((ref_135445 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_135454 = ref_135447 # MOV operation
ref_137963 = ((((((((ref_113172) << 8 | ref_113173) << 8 | ref_113174) << 8 | ref_113175) << 8 | ref_118197) << 8 | ref_118198) << 8 | ref_118199) << 8 | ref_118200) # MOV operation
ref_138545 = ref_137963 # MOV operation
ref_138553 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_138545)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_141071 = ref_99445 # MOV operation
ref_141357 = ref_141071 # MOV operation
ref_141371 = ref_138553 # MOV operation
ref_141373 = (ref_141371 ^ ref_141357) # XOR operation
ref_142032 = ref_141373 # MOV operation
ref_142040 = (0xF & ref_142032) # AND operation
ref_142639 = ref_142040 # MOV operation
ref_142647 = (0x1 | ref_142639) # OR operation
ref_143291 = ref_142647 # MOV operation
ref_143293 = ((0x40 - ref_143291) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_143301 = ref_143293 # MOV operation
ref_145870 = ref_13683 # MOV operation
ref_148455 = ref_20012 # MOV operation
ref_148713 = ref_145870 # MOV operation
ref_148719 = ref_148455 # MOV operation
ref_148721 = (((sx(0x40, ref_148719) * sx(0x40, ref_148713)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_149023 = ref_148721 # MOV operation
ref_149037 = ref_143301 # MOV operation
ref_149039 = (ref_149037 & 0xFFFFFFFF) # MOV operation
ref_149041 = (ref_149023 >> ((ref_149039 & 0xFF) & 0x3F)) # SHR operation
ref_149048 = ref_149041 # MOV operation
ref_149365 = ref_135454 # MOV operation
ref_149371 = ref_149048 # MOV operation
ref_149373 = (ref_149371 | ref_149365) # OR operation
ref_151897 = ref_149373 # MOV operation
ref_152537 = ref_151897 # MOV operation
ref_152539 = ref_152537 # MOV operation

print ref_152539 & 0xffffffffffffffff
