#!/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_9390 = ref_9340 # MOV operation
ref_9404 = ((ref_9390 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_10124 = ref_278 # MOV operation
ref_10174 = ref_10124 # MOV operation
ref_10188 = (ref_10174 >> (0x33 & 0x3F)) # SHR operation
ref_10271 = ref_9404 # MOV operation
ref_10275 = ref_10188 # MOV operation
ref_10277 = (ref_10275 | ref_10271) # OR operation
ref_10360 = ref_10277 # MOV operation
ref_11715 = ref_278 # MOV operation
ref_11765 = ref_11715 # MOV operation
ref_11781 = ((((0x0) << 64 | ref_11765) / 0x6) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_11950 = ref_11781 # MOV operation
ref_11956 = (((sx(0x40, 0xFA0000000002C90C) * sx(0x40, ref_11950)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_12036 = ref_11956 # MOV operation
ref_13386 = ref_10360 # MOV operation
ref_14076 = ref_12036 # MOV operation
ref_14134 = ref_13386 # MOV operation
ref_14138 = ref_14076 # MOV operation
ref_14140 = (ref_14138 | ref_14134) # OR operation
ref_14770 = ref_278 # MOV operation
ref_14820 = ref_14770 # MOV operation
ref_14832 = ref_14140 # MOV operation
ref_14834 = ((ref_14832 + ref_14820) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_14918 = ref_14834 # MOV operation
ref_16448 = ref_10360 # MOV operation
ref_16596 = ref_16448 # MOV operation
ref_16602 = ((ref_16596 - 0x2ED5CD7E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16610 = ref_16602 # MOV operation
ref_16692 = ref_16610 # MOV operation
ref_16694 = ((0x28E5FC28 - ref_16692) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16702 = ref_16694 # MOV operation
ref_16772 = ref_16702 # MOV operation
ref_16786 = (ref_16772 >> (0x2 & 0x3F)) # SHR operation
ref_16959 = ref_16786 # MOV operation
ref_16965 = (0x7 & ref_16959) # AND operation
ref_17138 = ref_16965 # MOV operation
ref_17144 = (0x1 | ref_17138) # OR operation
ref_17859 = ref_12036 # MOV operation
ref_18464 = ref_278 # MOV operation
ref_18514 = ref_18464 # MOV operation
ref_18526 = ref_17859 # MOV operation
ref_18528 = ((ref_18526 + ref_18514) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_18604 = ref_18528 # MOV operation
ref_18616 = ref_17144 # MOV operation
ref_18618 = (ref_18604 >> ((ref_18616 & 0xFF) & 0x3F)) # SHR operation
ref_18701 = ref_18618 # MOV operation
ref_20141 = ref_18701 # MOV operation
ref_20191 = ref_20141 # MOV operation
ref_20205 = (ref_20191 >> (0x1 & 0x3F)) # SHR operation
ref_20378 = ref_20205 # MOV operation
ref_20384 = (0x7 & ref_20378) # AND operation
ref_20557 = ref_20384 # MOV operation
ref_20563 = (0x1 | ref_20557) # OR operation
ref_21278 = ref_18701 # MOV operation
ref_21328 = ref_21278 # MOV operation
ref_21340 = ref_20563 # MOV operation
ref_21342 = (ref_21328 >> ((ref_21340 & 0xFF) & 0x3F)) # SHR operation
ref_21425 = ref_21342 # MOV operation
ref_21427 = ((ref_21425 >> 56) & 0xFF) # Byte reference - MOV operation
ref_21428 = ((ref_21425 >> 48) & 0xFF) # Byte reference - MOV operation
ref_21429 = ((ref_21425 >> 40) & 0xFF) # Byte reference - MOV operation
ref_21430 = ((ref_21425 >> 32) & 0xFF) # Byte reference - MOV operation
ref_21431 = ((ref_21425 >> 24) & 0xFF) # Byte reference - MOV operation
ref_21432 = ((ref_21425 >> 16) & 0xFF) # Byte reference - MOV operation
ref_21433 = ((ref_21425 >> 8) & 0xFF) # Byte reference - MOV operation
ref_21434 = (ref_21425 & 0xFF) # Byte reference - MOV operation
ref_23526 = ref_14918 # MOV operation
ref_24368 = ref_10360 # MOV operation
ref_24516 = ref_24368 # MOV operation
ref_24522 = (0x7 & ref_24516) # AND operation
ref_24597 = ref_24522 # MOV operation
ref_24611 = ((ref_24597 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_24694 = ref_23526 # MOV operation
ref_24698 = ref_24611 # MOV operation
ref_24700 = (ref_24698 | ref_24694) # OR operation
ref_24783 = ref_24700 # MOV operation
ref_26045 = ((((ref_21427) << 8 | ref_21428) << 8 | ref_21429) << 8 | ref_21430) # MOV operation
ref_26099 = (ref_26045 & 0xFFFFFFFF) # MOV operation
ref_28345 = ((((ref_21431) << 8 | ref_21432) << 8 | ref_21433) << 8 | ref_21434) # MOV operation
ref_28399 = (ref_28345 & 0xFFFFFFFF) # MOV operation
ref_29657 = (ref_26099 & 0xFFFFFFFF) # MOV operation
ref_29711 = (ref_29657 & 0xFFFFFFFF) # MOV operation
ref_32050 = ref_24783 # MOV operation
ref_32892 = ref_24783 # MOV operation
ref_33040 = ref_32892 # MOV operation
ref_33046 = (0x7 & ref_33040) # AND operation
ref_33121 = ref_33046 # MOV operation
ref_33135 = ((ref_33121 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_33218 = ref_32050 # MOV operation
ref_33222 = ref_33135 # MOV operation
ref_33224 = (ref_33222 | ref_33218) # OR operation
ref_33307 = ref_33224 # MOV operation
ref_34569 = (ref_28399 & 0xFFFFFFFF) # MOV operation
ref_34623 = (ref_34569 & 0xFFFFFFFF) # MOV operation
ref_36869 = (ref_29711 & 0xFFFFFFFF) # MOV operation
ref_36923 = (ref_36869 & 0xFFFFFFFF) # MOV operation
ref_36925 = (((ref_36923 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_36926 = (((ref_36923 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_36927 = (((ref_36923 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_36928 = ((ref_36923 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_38181 = (ref_34623 & 0xFFFFFFFF) # MOV operation
ref_38235 = (ref_38181 & 0xFFFFFFFF) # MOV operation
ref_38237 = (((ref_38235 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_38238 = (((ref_38235 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_38239 = (((ref_38235 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_38240 = ((ref_38235 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_40607 = ref_33307 # MOV operation
ref_41297 = ((((((((ref_36925) << 8 | ref_36926) << 8 | ref_36927) << 8 | ref_36928) << 8 | ref_38237) << 8 | ref_38238) << 8 | ref_38239) << 8 | ref_38240) # MOV operation
ref_41445 = ref_41297 # MOV operation
ref_41451 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_41445)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_41531 = ref_40607 # MOV operation
ref_41535 = ref_41451 # MOV operation
ref_41537 = (ref_41535 ^ ref_41531) # XOR operation
ref_41710 = ref_41537 # MOV operation
ref_41716 = (0xF & ref_41710) # AND operation
ref_41889 = ref_41716 # MOV operation
ref_41895 = (0x1 | ref_41889) # OR operation
ref_42610 = ref_10360 # MOV operation
ref_43300 = ref_12036 # MOV operation
ref_43358 = ref_42610 # MOV operation
ref_43362 = ref_43300 # MOV operation
ref_43364 = (((sx(0x40, ref_43362) * sx(0x40, ref_43358)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_43436 = ref_43364 # MOV operation
ref_43448 = ref_41895 # MOV operation
ref_43450 = ((ref_43436 << ((ref_43448 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_44255 = ref_33307 # MOV operation
ref_44945 = ((((((((ref_36925) << 8 | ref_36926) << 8 | ref_36927) << 8 | ref_36928) << 8 | ref_38237) << 8 | ref_38238) << 8 | ref_38239) << 8 | ref_38240) # MOV operation
ref_45093 = ref_44945 # MOV operation
ref_45099 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_45093)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_45179 = ref_44255 # MOV operation
ref_45183 = ref_45099 # MOV operation
ref_45185 = (ref_45183 ^ ref_45179) # XOR operation
ref_45358 = ref_45185 # MOV operation
ref_45364 = (0xF & ref_45358) # AND operation
ref_45537 = ref_45364 # MOV operation
ref_45543 = (0x1 | ref_45537) # OR operation
ref_45630 = ref_45543 # MOV operation
ref_45632 = ((0x40 - ref_45630) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_45640 = ref_45632 # MOV operation
ref_46350 = ref_10360 # MOV operation
ref_47040 = ref_12036 # MOV operation
ref_47098 = ref_46350 # MOV operation
ref_47102 = ref_47040 # MOV operation
ref_47104 = (((sx(0x40, ref_47102) * sx(0x40, ref_47098)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_47176 = ref_47104 # MOV operation
ref_47188 = ref_45640 # MOV operation
ref_47190 = (ref_47176 >> ((ref_47188 & 0xFF) & 0x3F)) # SHR operation
ref_47273 = ref_43450 # MOV operation
ref_47277 = ref_47190 # MOV operation
ref_47279 = (ref_47277 | ref_47273) # OR operation
ref_47362 = ref_47279 # MOV operation
ref_47521 = ref_47362 # MOV operation
ref_47523 = ref_47521 # MOV operation

print ref_47523 & 0xffffffffffffffff
