#!/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_5472 = ref_278 # MOV operation
ref_5504 = ref_5472 # MOV operation
ref_5518 = ((ref_5504 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_5978 = ref_278 # MOV operation
ref_6010 = ref_5978 # MOV operation
ref_6024 = (ref_6010 >> (0x33 & 0x3F)) # SHR operation
ref_6061 = ref_5518 # MOV operation
ref_6073 = ref_6024 # MOV operation
ref_6075 = (ref_6073 | ref_6061) # OR operation
ref_6114 = ref_6075 # MOV operation
ref_6803 = ref_278 # MOV operation
ref_6829 = ref_6803 # MOV operation
ref_6845 = ((((0x0) << 64 | ref_6829) / 0x6) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_6890 = ref_6845 # MOV operation
ref_6904 = (((sx(0x40, 0xFA0000000002C90C) * sx(0x40, ref_6890)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_6940 = ref_6904 # MOV operation
ref_7450 = ref_6114 # MOV operation
ref_7676 = ref_6940 # MOV operation
ref_7815 = ref_7450 # MOV operation
ref_7819 = ref_7676 # MOV operation
ref_7821 = (ref_7819 | ref_7815) # OR operation
ref_8272 = ref_278 # MOV operation
ref_8304 = ref_8272 # MOV operation
ref_8316 = ref_7821 # MOV operation
ref_8318 = ((ref_8316 + ref_8304) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_8358 = ref_8318 # MOV operation
ref_8870 = ref_6114 # MOV operation
ref_8904 = ref_8870 # MOV operation
ref_8918 = ((ref_8904 - 0x2ED5CD7E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_8926 = ref_8918 # MOV operation
ref_8956 = ref_8926 # MOV operation
ref_8958 = ((0x28E5FC28 - ref_8956) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_8966 = ref_8958 # MOV operation
ref_8998 = ref_8966 # MOV operation
ref_9012 = (ref_8998 >> (0x2 & 0x3F)) # SHR operation
ref_9067 = ref_9012 # MOV operation
ref_9081 = (0x7 & ref_9067) # AND operation
ref_9136 = ref_9081 # MOV operation
ref_9150 = (0x1 | ref_9136) # OR operation
ref_9560 = ref_6940 # MOV operation
ref_10048 = ref_278 # MOV operation
ref_10080 = ref_10048 # MOV operation
ref_10092 = ref_9560 # MOV operation
ref_10094 = ((ref_10092 + ref_10080) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_10132 = ref_10094 # MOV operation
ref_10144 = ref_9150 # MOV operation
ref_10146 = (ref_10132 >> ((ref_10144 & 0xFF) & 0x3F)) # SHR operation
ref_10185 = ref_10146 # MOV operation
ref_10713 = ref_10185 # MOV operation
ref_10745 = ref_10713 # MOV operation
ref_10759 = (ref_10745 >> (0x1 & 0x3F)) # SHR operation
ref_10814 = ref_10759 # MOV operation
ref_10828 = (0x7 & ref_10814) # AND operation
ref_10883 = ref_10828 # MOV operation
ref_10897 = (0x1 | ref_10883) # OR operation
ref_11289 = ref_10185 # MOV operation
ref_11313 = ref_11289 # MOV operation
ref_11317 = ref_10897 # MOV operation
ref_11319 = (ref_11317 & 0xFFFFFFFF) # MOV operation
ref_11321 = (ref_11313 >> ((ref_11319 & 0xFF) & 0x3F)) # SHR operation
ref_11328 = ref_11321 # MOV operation
ref_11354 = ref_11328 # MOV operation
ref_11356 = ((ref_11354 >> 56) & 0xFF) # Byte reference - MOV operation
ref_11357 = ((ref_11354 >> 48) & 0xFF) # Byte reference - MOV operation
ref_11358 = ((ref_11354 >> 40) & 0xFF) # Byte reference - MOV operation
ref_11359 = ((ref_11354 >> 32) & 0xFF) # Byte reference - MOV operation
ref_11360 = ((ref_11354 >> 24) & 0xFF) # Byte reference - MOV operation
ref_11361 = ((ref_11354 >> 16) & 0xFF) # Byte reference - MOV operation
ref_11362 = ((ref_11354 >> 8) & 0xFF) # Byte reference - MOV operation
ref_11363 = (ref_11354 & 0xFF) # Byte reference - MOV operation
ref_12471 = ref_8358 # MOV operation
ref_12817 = ref_6114 # MOV operation
ref_12867 = ref_12817 # MOV operation
ref_12881 = (0x7 & ref_12867) # AND operation
ref_12918 = ref_12881 # MOV operation
ref_12932 = ((ref_12918 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_12969 = ref_12471 # MOV operation
ref_12981 = ref_12932 # MOV operation
ref_12983 = (ref_12981 | ref_12969) # OR operation
ref_13022 = ref_12983 # MOV operation
ref_13626 = ((((ref_11356) << 8 | ref_11357) << 8 | ref_11358) << 8 | ref_11359) # MOV operation
ref_13656 = (ref_13626 & 0xFFFFFFFF) # MOV operation
ref_14626 = ((((ref_11360) << 8 | ref_11361) << 8 | ref_11362) << 8 | ref_11363) # MOV operation
ref_14648 = (ref_14626 & 0xFFFFFFFF) # MOV operation
ref_15056 = (ref_13656 & 0xFFFFFFFF) # MOV operation
ref_15078 = (ref_15056 & 0xFFFFFFFF) # MOV operation
ref_16386 = ref_13022 # MOV operation
ref_16732 = ref_13022 # MOV operation
ref_16782 = ref_16732 # MOV operation
ref_16796 = (0x7 & ref_16782) # AND operation
ref_16833 = ref_16796 # MOV operation
ref_16847 = ((ref_16833 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_16884 = ref_16386 # MOV operation
ref_16896 = ref_16847 # MOV operation
ref_16898 = (ref_16896 | ref_16884) # OR operation
ref_16937 = ref_16898 # MOV operation
ref_17541 = (ref_14648 & 0xFFFFFFFF) # MOV operation
ref_17571 = (ref_17541 & 0xFFFFFFFF) # MOV operation
ref_18541 = (ref_15078 & 0xFFFFFFFF) # MOV operation
ref_18563 = (ref_18541 & 0xFFFFFFFF) # MOV operation
ref_18565 = (((ref_18563 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_18566 = (((ref_18563 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_18567 = (((ref_18563 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_18568 = ((ref_18563 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_18971 = (ref_17571 & 0xFFFFFFFF) # MOV operation
ref_18993 = (ref_18971 & 0xFFFFFFFF) # MOV operation
ref_18995 = (((ref_18993 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_18996 = (((ref_18993 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_18997 = (((ref_18993 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_18998 = ((ref_18993 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_20709 = ref_16937 # MOV operation
ref_20983 = ((((((((ref_18565) << 8 | ref_18566) << 8 | ref_18567) << 8 | ref_18568) << 8 | ref_18995) << 8 | ref_18996) << 8 | ref_18997) << 8 | ref_18998) # MOV operation
ref_21027 = ref_20983 # MOV operation
ref_21041 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_21027)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_21059 = ref_20709 # MOV operation
ref_21071 = ref_21041 # MOV operation
ref_21073 = (ref_21071 ^ ref_21059) # XOR operation
ref_21112 = ref_21073 # MOV operation
ref_21126 = (0xF & ref_21112) # AND operation
ref_21165 = ref_21126 # MOV operation
ref_21179 = (0x1 | ref_21165) # OR operation
ref_21578 = ref_6114 # MOV operation
ref_21852 = ref_6940 # MOV operation
ref_21878 = ref_21578 # MOV operation
ref_21890 = ref_21852 # MOV operation
ref_21892 = (((sx(0x40, ref_21890) * sx(0x40, ref_21878)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_21918 = ref_21892 # MOV operation
ref_21922 = ref_21179 # MOV operation
ref_21924 = (ref_21922 & 0xFFFFFFFF) # MOV operation
ref_21926 = ((ref_21918 << ((ref_21924 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_21933 = ref_21926 # MOV operation
ref_22225 = ref_16937 # MOV operation
ref_22612 = ((((((((ref_18565) << 8 | ref_18566) << 8 | ref_18567) << 8 | ref_18568) << 8 | ref_18995) << 8 | ref_18996) << 8 | ref_18997) << 8 | ref_18998) # MOV operation
ref_22656 = ref_22612 # MOV operation
ref_22670 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_22656)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_22688 = ref_22225 # MOV operation
ref_22700 = ref_22670 # MOV operation
ref_22702 = (ref_22700 ^ ref_22688) # XOR operation
ref_22741 = ref_22702 # MOV operation
ref_22755 = (0xF & ref_22741) # AND operation
ref_22794 = ref_22755 # MOV operation
ref_22808 = (0x1 | ref_22794) # OR operation
ref_22843 = ref_22808 # MOV operation
ref_22845 = ((0x40 - ref_22843) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_22853 = ref_22845 # MOV operation
ref_23267 = ref_6114 # MOV operation
ref_23541 = ref_6940 # MOV operation
ref_23567 = ref_23267 # MOV operation
ref_23579 = ref_23541 # MOV operation
ref_23581 = (((sx(0x40, ref_23579) * sx(0x40, ref_23567)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_23607 = ref_23581 # MOV operation
ref_23611 = ref_22853 # MOV operation
ref_23613 = (ref_23611 & 0xFFFFFFFF) # MOV operation
ref_23615 = (ref_23607 >> ((ref_23613 & 0xFF) & 0x3F)) # SHR operation
ref_23622 = ref_23615 # MOV operation
ref_23648 = ref_21933 # MOV operation
ref_23652 = ref_23622 # MOV operation
ref_23654 = (ref_23652 | ref_23648) # OR operation
ref_23693 = ref_23654 # MOV operation
ref_23990 = ref_23693 # MOV operation
ref_23992 = ref_23990 # MOV operation

print ref_23992 & 0xffffffffffffffff
