#!/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_9340 = ref_278 # MOV operation
ref_9488 = ref_9340 # MOV operation
ref_9496 = (ref_9488 >> (0x3 & 0x3F)) # SHR operation
ref_9503 = ref_9496 # MOV operation
ref_10218 = ref_278 # MOV operation
ref_10268 = ref_10218 # MOV operation
ref_10282 = ((ref_10268 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_10365 = ref_9503 # MOV operation
ref_10369 = ref_10282 # MOV operation
ref_10371 = (ref_10369 | ref_10365) # OR operation
ref_10446 = ref_10371 # MOV operation
ref_10460 = ((ref_10446 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_10468 = ref_10460 # MOV operation
ref_10546 = ref_10468 # MOV operation
ref_10548 = ((ref_10546 >> 56) & 0xFF) # Byte reference - MOV operation
ref_10549 = ((ref_10546 >> 48) & 0xFF) # Byte reference - MOV operation
ref_10550 = ((ref_10546 >> 40) & 0xFF) # Byte reference - MOV operation
ref_10551 = ((ref_10546 >> 32) & 0xFF) # Byte reference - MOV operation
ref_10552 = ((ref_10546 >> 24) & 0xFF) # Byte reference - MOV operation
ref_10553 = ((ref_10546 >> 16) & 0xFF) # Byte reference - MOV operation
ref_10554 = ((ref_10546 >> 8) & 0xFF) # Byte reference - MOV operation
ref_10555 = (ref_10546 & 0xFF) # Byte reference - MOV operation
ref_11901 = ref_278 # MOV operation
ref_12591 = ref_10546 # MOV operation
ref_12649 = ref_11901 # MOV operation
ref_12653 = ref_12591 # MOV operation
ref_12655 = (ref_12653 | ref_12649) # OR operation
ref_12730 = ref_12655 # MOV operation
ref_12744 = ((ref_12730 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_12752 = ref_12744 # MOV operation
ref_12830 = ref_12752 # MOV operation
ref_12832 = ((ref_12830 >> 56) & 0xFF) # Byte reference - MOV operation
ref_12833 = ((ref_12830 >> 48) & 0xFF) # Byte reference - MOV operation
ref_12834 = ((ref_12830 >> 40) & 0xFF) # Byte reference - MOV operation
ref_12835 = ((ref_12830 >> 32) & 0xFF) # Byte reference - MOV operation
ref_12836 = ((ref_12830 >> 24) & 0xFF) # Byte reference - MOV operation
ref_12837 = ((ref_12830 >> 16) & 0xFF) # Byte reference - MOV operation
ref_12838 = ((ref_12830 >> 8) & 0xFF) # Byte reference - MOV operation
ref_12839 = (ref_12830 & 0xFF) # Byte reference - MOV operation
ref_14095 = ref_278 # MOV operation
ref_14785 = ref_10546 # MOV operation
ref_14843 = ref_14095 # MOV operation
ref_14847 = ref_14785 # MOV operation
ref_14849 = (((sx(0x40, ref_14847) * sx(0x40, ref_14843)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_15651 = ref_12830 # MOV operation
ref_15701 = ref_15651 # MOV operation
ref_15715 = ((ref_15701 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_15798 = ref_14849 # MOV operation
ref_15802 = ref_15715 # MOV operation
ref_15804 = (((sx(0x40, ref_15802) * sx(0x40, ref_15798)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_15884 = ref_15804 # MOV operation
ref_17239 = ref_278 # MOV operation
ref_17289 = ref_17239 # MOV operation
ref_17303 = ((ref_17289 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_17311 = ref_17303 # MOV operation
ref_17389 = ref_17311 # MOV operation
ref_19362 = ((((ref_10548) << 8 | ref_10549) << 8 | ref_10550) << 8 | ref_10551) # MOV operation
ref_19518 = (ref_19362 & 0xFFFFFFFF) # MOV operation
ref_20736 = ((((ref_10552) << 8 | ref_10553) << 8 | ref_10554) << 8 | ref_10555) # MOV operation
ref_21942 = (ref_20736 & 0xFFFFFFFF) # MOV operation
ref_21944 = (((ref_21942 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_21945 = (((ref_21942 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_21946 = (((ref_21942 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_21947 = ((ref_21942 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_22110 = (ref_19518 & 0xFFFFFFFF) # MOV operation
ref_23316 = (ref_22110 & 0xFFFFFFFF) # MOV operation
ref_23318 = (((ref_23316 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_23319 = (((ref_23316 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_23320 = (((ref_23316 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_23321 = ((ref_23316 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_24786 = ((((((((ref_21944) << 8 | ref_21945) << 8 | ref_21946) << 8 | ref_21947) << 8 | ref_23318) << 8 | ref_23319) << 8 | ref_23320) << 8 | ref_23321) # MOV operation
ref_25808 = ref_15884 # MOV operation
ref_26498 = ref_15884 # MOV operation
ref_26556 = ref_25808 # MOV operation
ref_26560 = ref_26498 # MOV operation
ref_26562 = ((ref_26560 + ref_26556) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_26736 = ref_26562 # MOV operation
ref_26742 = (0x3F & ref_26736) # AND operation
ref_26817 = ref_26742 # MOV operation
ref_26831 = ((ref_26817 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_26914 = ref_24786 # MOV operation
ref_26918 = ref_26831 # MOV operation
ref_26920 = (ref_26918 | ref_26914) # OR operation
ref_27003 = ref_26920 # MOV operation
ref_29218 = ((((ref_12832) << 8 | ref_12833) << 8 | ref_12834) << 8 | ref_12835) # MOV operation
ref_29374 = (ref_29218 & 0xFFFFFFFF) # MOV operation
ref_30592 = ((((ref_12836) << 8 | ref_12837) << 8 | ref_12838) << 8 | ref_12839) # MOV operation
ref_31798 = (ref_30592 & 0xFFFFFFFF) # MOV operation
ref_31800 = (((ref_31798 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_31801 = (((ref_31798 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_31802 = (((ref_31798 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_31803 = ((ref_31798 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_31966 = (ref_29374 & 0xFFFFFFFF) # MOV operation
ref_33172 = (ref_31966 & 0xFFFFFFFF) # MOV operation
ref_33174 = (((ref_33172 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_33175 = (((ref_33172 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_33176 = (((ref_33172 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_33177 = ((ref_33172 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_34642 = ((((((((ref_31800) << 8 | ref_31801) << 8 | ref_31802) << 8 | ref_31803) << 8 | ref_33174) << 8 | ref_33175) << 8 | ref_33176) << 8 | ref_33177) # MOV operation
ref_35664 = ref_17389 # MOV operation
ref_36354 = ref_15884 # MOV operation
ref_36412 = ref_35664 # MOV operation
ref_36416 = ref_36354 # MOV operation
ref_36418 = ((ref_36416 + ref_36412) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_36592 = ref_36418 # MOV operation
ref_36598 = (0x3F & ref_36592) # AND operation
ref_36673 = ref_36598 # MOV operation
ref_36687 = ((ref_36673 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_36770 = ref_34642 # MOV operation
ref_36774 = ref_36687 # MOV operation
ref_36776 = (ref_36774 | ref_36770) # OR operation
ref_36859 = ref_36776 # MOV operation
ref_36861 = ((ref_36859 >> 56) & 0xFF) # Byte reference - MOV operation
ref_36862 = ((ref_36859 >> 48) & 0xFF) # Byte reference - MOV operation
ref_36863 = ((ref_36859 >> 40) & 0xFF) # Byte reference - MOV operation
ref_36864 = ((ref_36859 >> 32) & 0xFF) # Byte reference - MOV operation
ref_36865 = ((ref_36859 >> 24) & 0xFF) # Byte reference - MOV operation
ref_36866 = ((ref_36859 >> 16) & 0xFF) # Byte reference - MOV operation
ref_36867 = ((ref_36859 >> 8) & 0xFF) # Byte reference - MOV operation
ref_36868 = (ref_36859 & 0xFF) # Byte reference - MOV operation
ref_39121 = ref_36863 # MOVZX operation
ref_39273 = (ref_39121 & 0xFF) # MOVZX operation
ref_40425 = ref_36867 # MOVZX operation
ref_41565 = (ref_40425 & 0xFF) # MOVZX operation
ref_41567 = (ref_41565 & 0xFF) # Byte reference - MOV operation
ref_41729 = (ref_39273 & 0xFF) # MOVZX operation
ref_42869 = (ref_41729 & 0xFF) # MOVZX operation
ref_42871 = (ref_42869 & 0xFF) # Byte reference - MOV operation
ref_44135 = ref_15884 # MOV operation
ref_44825 = ref_17389 # MOV operation
ref_44883 = ref_44135 # MOV operation
ref_44887 = ref_44825 # MOV operation
ref_44889 = (ref_44887 & ref_44883) # AND operation
ref_45062 = ref_44889 # MOV operation
ref_45068 = (0xF & ref_45062) # AND operation
ref_45241 = ref_45068 # MOV operation
ref_45247 = (0x1 | ref_45241) # OR operation
ref_45962 = ref_27003 # MOV operation
ref_46652 = ((((((((ref_36861) << 8 | ref_36862) << 8 | ref_41567) << 8 | ref_36864) << 8 | ref_36865) << 8 | ref_36866) << 8 | ref_42871) << 8 | ref_36868) # MOV operation
ref_46710 = ref_45962 # MOV operation
ref_46714 = ref_46652 # MOV operation
ref_46716 = ((ref_46714 + ref_46710) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_46792 = ref_46716 # MOV operation
ref_46804 = ref_45247 # MOV operation
ref_46806 = ((ref_46792 << ((ref_46804 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_47521 = ref_27003 # MOV operation
ref_48211 = ((((((((ref_36861) << 8 | ref_36862) << 8 | ref_41567) << 8 | ref_36864) << 8 | ref_36865) << 8 | ref_36866) << 8 | ref_42871) << 8 | ref_36868) # MOV operation
ref_48269 = ref_47521 # MOV operation
ref_48273 = ref_48211 # MOV operation
ref_48275 = ((ref_48273 + ref_48269) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_48991 = ref_15884 # MOV operation
ref_49681 = ref_17389 # MOV operation
ref_49739 = ref_48991 # MOV operation
ref_49743 = ref_49681 # MOV operation
ref_49745 = (ref_49743 & ref_49739) # AND operation
ref_49918 = ref_49745 # MOV operation
ref_49924 = (0xF & ref_49918) # AND operation
ref_50097 = ref_49924 # MOV operation
ref_50103 = (0x1 | ref_50097) # OR operation
ref_50280 = ref_50103 # MOV operation
ref_50282 = ((0x40 - ref_50280) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_50290 = ref_50282 # MOV operation
ref_50368 = ref_48275 # MOV operation
ref_50372 = ref_50290 # MOV operation
ref_50374 = (ref_50372 & 0xFFFFFFFF) # MOV operation
ref_50376 = (ref_50368 >> ((ref_50374 & 0xFF) & 0x3F)) # SHR operation
ref_50383 = ref_50376 # MOV operation
ref_50461 = ref_46806 # MOV operation
ref_50465 = ref_50383 # MOV operation
ref_50467 = (ref_50465 | ref_50461) # OR operation
ref_50550 = ref_50467 # MOV operation
ref_50709 = ref_50550 # MOV operation
ref_50711 = ref_50709 # MOV operation

print ref_50711 & 0xffffffffffffffff
