#!/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_6416 = ref_278 # MOV operation
ref_6492 = ref_6416 # MOV operation
ref_6506 = (ref_6492 >> (0x33 & 0x3F)) # SHR operation
ref_7344 = ref_278 # MOV operation
ref_7544 = ref_7344 # MOV operation
ref_7552 = ((ref_7544 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_7559 = ref_7552 # MOV operation
ref_7655 = ref_7559 # MOV operation
ref_7667 = ref_6506 # MOV operation
ref_7669 = (ref_7667 | ref_7655) # OR operation
ref_7778 = ref_7669 # MOV operation
ref_8727 = ref_278 # MOV operation
ref_8927 = ref_8727 # MOV operation
ref_8935 = ((((0x0) << 64 | ref_8927) / 0x6) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_9032 = ref_8935 # MOV operation
ref_9046 = (((sx(0x40, 0xFA0000000002C90C) * sx(0x40, ref_9032)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_9974 = ref_9046 # MOV operation
ref_10807 = ref_278 # MOV operation
ref_11705 = ref_9974 # MOV operation
ref_12603 = ref_7778 # MOV operation
ref_12679 = ref_12603 # MOV operation
ref_12691 = ref_11705 # MOV operation
ref_12693 = (ref_12691 | ref_12679) # OR operation
ref_12802 = ref_10807 # MOV operation
ref_12806 = ref_12693 # MOV operation
ref_12808 = ((ref_12806 + ref_12802) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_13740 = ref_12808 # MOV operation
ref_15828 = ref_7778 # MOV operation
ref_16028 = ref_15828 # MOV operation
ref_16034 = ((ref_16028 - 0x2ED5CD7E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16042 = ref_16034 # MOV operation
ref_16150 = ref_16042 # MOV operation
ref_16152 = ((0x28E5FC28 - ref_16150) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16160 = ref_16152 # MOV operation
ref_16256 = ref_16160 # MOV operation
ref_16270 = (ref_16256 >> (0x2 & 0x3F)) # SHR operation
ref_16495 = ref_16270 # MOV operation
ref_16501 = (0x7 & ref_16495) # AND operation
ref_16602 = ref_16501 # MOV operation
ref_16616 = (0x1 | ref_16602) # OR operation
ref_17539 = ref_9974 # MOV operation
ref_18352 = ref_278 # MOV operation
ref_18428 = ref_18352 # MOV operation
ref_18440 = ref_17539 # MOV operation
ref_18442 = ((ref_18440 + ref_18428) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_18544 = ref_18442 # MOV operation
ref_18556 = ref_16616 # MOV operation
ref_18558 = (ref_18544 >> ((ref_18556 & 0xFF) & 0x3F)) # SHR operation
ref_18667 = ref_18558 # MOV operation
ref_20755 = ref_18667 # MOV operation
ref_20831 = ref_20755 # MOV operation
ref_20845 = (ref_20831 >> (0x1 & 0x3F)) # SHR operation
ref_20946 = ref_20845 # MOV operation
ref_20960 = (0x7 & ref_20946) # AND operation
ref_21061 = ref_20960 # MOV operation
ref_21075 = (0x1 | ref_21061) # OR operation
ref_21998 = ref_18667 # MOV operation
ref_22074 = ref_21998 # MOV operation
ref_22086 = ref_21075 # MOV operation
ref_22088 = (ref_22074 >> ((ref_22086 & 0xFF) & 0x3F)) # SHR operation
ref_22197 = ref_22088 # MOV operation
ref_22199 = ((ref_22197 >> 56) & 0xFF) # Byte reference - MOV operation
ref_22200 = ((ref_22197 >> 48) & 0xFF) # Byte reference - MOV operation
ref_22201 = ((ref_22197 >> 40) & 0xFF) # Byte reference - MOV operation
ref_22202 = ((ref_22197 >> 32) & 0xFF) # Byte reference - MOV operation
ref_22203 = ((ref_22197 >> 24) & 0xFF) # Byte reference - MOV operation
ref_22204 = ((ref_22197 >> 16) & 0xFF) # Byte reference - MOV operation
ref_22205 = ((ref_22197 >> 8) & 0xFF) # Byte reference - MOV operation
ref_22206 = (ref_22197 & 0xFF) # Byte reference - MOV operation
ref_25242 = ref_7778 # MOV operation
ref_25318 = ref_25242 # MOV operation
ref_25332 = (0x7 & ref_25318) # AND operation
ref_25433 = ref_25332 # MOV operation
ref_25447 = ((ref_25433 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_26370 = ref_13740 # MOV operation
ref_26446 = ref_26370 # MOV operation
ref_26458 = ref_25447 # MOV operation
ref_26460 = (ref_26458 | ref_26446) # OR operation
ref_26569 = ref_26460 # MOV operation
ref_28093 = ((((ref_22199) << 8 | ref_22200) << 8 | ref_22201) << 8 | ref_22202) # MOV operation
ref_28301 = (ref_28093 & 0xFFFFFFFF) # MOV operation
ref_29821 = ((((ref_22203) << 8 | ref_22204) << 8 | ref_22205) << 8 | ref_22206) # MOV operation
ref_31329 = (ref_29821 & 0xFFFFFFFF) # MOV operation
ref_31549 = (ref_28301 & 0xFFFFFFFF) # MOV operation
ref_33057 = (ref_31549 & 0xFFFFFFFF) # MOV operation
ref_36418 = ref_26569 # MOV operation
ref_36494 = ref_36418 # MOV operation
ref_36508 = (0x7 & ref_36494) # AND operation
ref_36609 = ref_36508 # MOV operation
ref_36623 = ((ref_36609 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_37546 = ref_26569 # MOV operation
ref_37622 = ref_37546 # MOV operation
ref_37634 = ref_36623 # MOV operation
ref_37636 = (ref_37634 | ref_37622) # OR operation
ref_37745 = ref_37636 # MOV operation
ref_39269 = (ref_31329 & 0xFFFFFFFF) # MOV operation
ref_39477 = (ref_39269 & 0xFFFFFFFF) # MOV operation
ref_40997 = (ref_33057 & 0xFFFFFFFF) # MOV operation
ref_42505 = (ref_40997 & 0xFFFFFFFF) # MOV operation
ref_42507 = (((ref_42505 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_42508 = (((ref_42505 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_42509 = (((ref_42505 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_42510 = ((ref_42505 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_42725 = (ref_39477 & 0xFFFFFFFF) # MOV operation
ref_44233 = (ref_42725 & 0xFFFFFFFF) # MOV operation
ref_44235 = (((ref_44233 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_44236 = (((ref_44233 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_44237 = (((ref_44233 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_44238 = ((ref_44233 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_47591 = ref_37745 # MOV operation
ref_48489 = ((((((((ref_42507) << 8 | ref_42508) << 8 | ref_42509) << 8 | ref_42510) << 8 | ref_44235) << 8 | ref_44236) << 8 | ref_44237) << 8 | ref_44238) # MOV operation
ref_48689 = ref_48489 # MOV operation
ref_48695 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_48689)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_48801 = ref_47591 # MOV operation
ref_48805 = ref_48695 # MOV operation
ref_48807 = (ref_48805 ^ ref_48801) # XOR operation
ref_49032 = ref_48807 # MOV operation
ref_49038 = (0xF & ref_49032) # AND operation
ref_49139 = ref_49038 # MOV operation
ref_49153 = (0x1 | ref_49139) # OR operation
ref_49266 = ref_49153 # MOV operation
ref_49268 = ((0x40 - ref_49266) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_49276 = ref_49268 # MOV operation
ref_50194 = ref_7778 # MOV operation
ref_51092 = ref_9974 # MOV operation
ref_51176 = ref_50194 # MOV operation
ref_51180 = ref_51092 # MOV operation
ref_51182 = (((sx(0x40, ref_51180) * sx(0x40, ref_51176)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_51280 = ref_51182 # MOV operation
ref_51292 = ref_49276 # MOV operation
ref_51294 = (ref_51280 >> ((ref_51292 & 0xFF) & 0x3F)) # SHR operation
ref_52217 = ref_7778 # MOV operation
ref_53115 = ref_9974 # MOV operation
ref_53199 = ref_52217 # MOV operation
ref_53203 = ref_53115 # MOV operation
ref_53205 = (((sx(0x40, ref_53203) * sx(0x40, ref_53199)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_54241 = ref_37745 # MOV operation
ref_55255 = ((((((((ref_42507) << 8 | ref_42508) << 8 | ref_42509) << 8 | ref_42510) << 8 | ref_44235) << 8 | ref_44236) << 8 | ref_44237) << 8 | ref_44238) # MOV operation
ref_55331 = ref_55255 # MOV operation
ref_55345 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_55331)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_55451 = ref_54241 # MOV operation
ref_55455 = ref_55345 # MOV operation
ref_55457 = (ref_55455 ^ ref_55451) # XOR operation
ref_55682 = ref_55457 # MOV operation
ref_55688 = (0xF & ref_55682) # AND operation
ref_55789 = ref_55688 # MOV operation
ref_55803 = (0x1 | ref_55789) # OR operation
ref_55912 = ref_53205 # MOV operation
ref_55916 = ref_55803 # MOV operation
ref_55918 = (ref_55916 & 0xFFFFFFFF) # MOV operation
ref_55920 = ((ref_55912 << ((ref_55918 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_55927 = ref_55920 # MOV operation
ref_56023 = ref_55927 # MOV operation
ref_56035 = ref_51294 # MOV operation
ref_56037 = (ref_56035 | ref_56023) # OR operation
ref_56146 = ref_56037 # MOV operation
ref_56357 = ref_56146 # MOV operation
ref_56359 = ref_56357 # MOV operation

print ref_56359 & 0xffffffffffffffff
