#!/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_10006 = ref_278 # MOV operation
ref_11272 = ref_10006 # MOV operation
ref_11282 = ((ref_11272 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_11289 = ref_11282 # MOV operation
ref_17074 = ref_278 # MOV operation
ref_17670 = ref_17074 # MOV operation
ref_17688 = (ref_17670 >> (0x3 & 0x3F)) # SHR operation
ref_17695 = ref_17688 # MOV operation
ref_18293 = ref_17695 # MOV operation
ref_18307 = ref_11289 # MOV operation
ref_18309 = (ref_18307 | ref_18293) # OR operation
ref_18888 = ref_18309 # MOV operation
ref_18904 = ((ref_18888 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_18912 = ref_18904 # MOV operation
ref_23947 = ref_18912 # MOV operation
ref_23949 = ((ref_23947 >> 56) & 0xFF) # Byte reference - MOV operation
ref_23950 = ((ref_23947 >> 48) & 0xFF) # Byte reference - MOV operation
ref_23951 = ((ref_23947 >> 40) & 0xFF) # Byte reference - MOV operation
ref_23952 = ((ref_23947 >> 32) & 0xFF) # Byte reference - MOV operation
ref_23953 = ((ref_23947 >> 24) & 0xFF) # Byte reference - MOV operation
ref_23954 = ((ref_23947 >> 16) & 0xFF) # Byte reference - MOV operation
ref_23955 = ((ref_23947 >> 8) & 0xFF) # Byte reference - MOV operation
ref_23956 = (ref_23947 & 0xFF) # Byte reference - MOV operation
ref_29672 = ref_23947 # MOV operation
ref_34710 = ref_278 # MOV operation
ref_35286 = ref_34710 # MOV operation
ref_35300 = ref_29672 # MOV operation
ref_35302 = (ref_35300 | ref_35286) # OR operation
ref_35889 = ref_35302 # MOV operation
ref_35905 = ((ref_35889 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_35913 = ref_35905 # MOV operation
ref_40973 = ref_35913 # MOV operation
ref_40975 = ((ref_40973 >> 56) & 0xFF) # Byte reference - MOV operation
ref_40976 = ((ref_40973 >> 48) & 0xFF) # Byte reference - MOV operation
ref_40977 = ((ref_40973 >> 40) & 0xFF) # Byte reference - MOV operation
ref_40978 = ((ref_40973 >> 32) & 0xFF) # Byte reference - MOV operation
ref_40979 = ((ref_40973 >> 24) & 0xFF) # Byte reference - MOV operation
ref_40980 = ((ref_40973 >> 16) & 0xFF) # Byte reference - MOV operation
ref_40981 = ((ref_40973 >> 8) & 0xFF) # Byte reference - MOV operation
ref_40982 = (ref_40973 & 0xFF) # Byte reference - MOV operation
ref_46042 = ref_40973 # MOV operation
ref_47363 = ref_46042 # MOV operation
ref_47373 = ((ref_47363 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_47380 = ref_47373 # MOV operation
ref_52410 = ref_23947 # MOV operation
ref_57321 = ref_278 # MOV operation
ref_57912 = ref_57321 # MOV operation
ref_57926 = ref_52410 # MOV operation
ref_57928 = (((sx(0x40, ref_57926) * sx(0x40, ref_57912)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_58584 = ref_57928 # MOV operation
ref_58598 = ref_47380 # MOV operation
ref_58600 = (((sx(0x40, ref_58598) * sx(0x40, ref_58584)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_63759 = ref_58600 # MOV operation
ref_69360 = ref_278 # MOV operation
ref_69894 = ref_69360 # MOV operation
ref_69910 = ((ref_69894 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_69918 = ref_69910 # MOV operation
ref_75027 = ref_69918 # MOV operation
ref_90095 = ((((ref_23949) << 8 | ref_23950) << 8 | ref_23951) << 8 | ref_23952) # MOV operation
ref_91366 = (ref_90095 & 0xFFFFFFFF) # MOV operation
ref_100781 = ((((ref_23953) << 8 | ref_23954) << 8 | ref_23955) << 8 | ref_23956) # MOV operation
ref_110237 = (ref_100781 & 0xFFFFFFFF) # MOV operation
ref_110239 = (((ref_110237 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_110240 = (((ref_110237 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_110241 = (((ref_110237 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_110242 = ((ref_110237 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_111418 = (ref_91366 & 0xFFFFFFFF) # MOV operation
ref_120810 = (ref_111418 & 0xFFFFFFFF) # MOV operation
ref_120812 = (((ref_120810 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_120813 = (((ref_120810 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_120814 = (((ref_120810 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_120815 = ((ref_120810 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_126607 = ref_63759 # MOV operation
ref_133464 = ref_63759 # MOV operation
ref_134070 = ref_133464 # MOV operation
ref_134084 = ref_126607 # MOV operation
ref_134086 = ((ref_134084 + ref_134070) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_134745 = ref_134086 # MOV operation
ref_134761 = (0x3F & ref_134745) # AND operation
ref_135979 = ref_134761 # MOV operation
ref_135989 = ((ref_135979 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_135996 = ref_135989 # MOV operation
ref_141688 = ((((((((ref_110239) << 8 | ref_110240) << 8 | ref_110241) << 8 | ref_110242) << 8 | ref_120812) << 8 | ref_120813) << 8 | ref_120814) << 8 | ref_120815) # MOV operation
ref_142325 = ref_141688 # MOV operation
ref_142339 = ref_135996 # MOV operation
ref_142341 = (ref_142339 | ref_142325) # OR operation
ref_148067 = ref_142341 # MOV operation
ref_164971 = ((((ref_40975) << 8 | ref_40976) << 8 | ref_40977) << 8 | ref_40978) # MOV operation
ref_166172 = (ref_164971 & 0xFFFFFFFF) # MOV operation
ref_175608 = ((((ref_40979) << 8 | ref_40980) << 8 | ref_40981) << 8 | ref_40982) # MOV operation
ref_184901 = (ref_175608 & 0xFFFFFFFF) # MOV operation
ref_184903 = (((ref_184901 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_184904 = (((ref_184901 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_184905 = (((ref_184901 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_184906 = ((ref_184901 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_186149 = (ref_166172 & 0xFFFFFFFF) # MOV operation
ref_195555 = (ref_186149 & 0xFFFFFFFF) # MOV operation
ref_195557 = (((ref_195555 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_195558 = (((ref_195555 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_195559 = (((ref_195555 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_195560 = ((ref_195555 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_201137 = ref_63759 # MOV operation
ref_208182 = ref_75027 # MOV operation
ref_208722 = ref_208182 # MOV operation
ref_208736 = ref_201137 # MOV operation
ref_208738 = ((ref_208736 + ref_208722) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_209306 = ref_208738 # MOV operation
ref_209322 = (0x3F & ref_209306) # AND operation
ref_210657 = ref_209322 # MOV operation
ref_210667 = ((ref_210657 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_210674 = ref_210667 # MOV operation
ref_216296 = ((((((((ref_184903) << 8 | ref_184904) << 8 | ref_184905) << 8 | ref_184906) << 8 | ref_195557) << 8 | ref_195558) << 8 | ref_195559) << 8 | ref_195560) # MOV operation
ref_216798 = ref_216296 # MOV operation
ref_216812 = ref_210674 # MOV operation
ref_216814 = (ref_216812 | ref_216798) # OR operation
ref_222553 = ref_216814 # MOV operation
ref_222555 = ((ref_222553 >> 56) & 0xFF) # Byte reference - MOV operation
ref_222556 = ((ref_222553 >> 48) & 0xFF) # Byte reference - MOV operation
ref_222557 = ((ref_222553 >> 40) & 0xFF) # Byte reference - MOV operation
ref_222558 = ((ref_222553 >> 32) & 0xFF) # Byte reference - MOV operation
ref_222559 = ((ref_222553 >> 24) & 0xFF) # Byte reference - MOV operation
ref_222560 = ((ref_222553 >> 16) & 0xFF) # Byte reference - MOV operation
ref_222561 = ((ref_222553 >> 8) & 0xFF) # Byte reference - MOV operation
ref_222562 = (ref_222553 & 0xFF) # Byte reference - MOV operation
ref_240767 = ref_222557 # MOVZX operation
ref_241259 = (ref_240767 & 0xFF) # MOVZX operation
ref_258178 = ref_222561 # MOVZX operation
ref_258900 = (ref_258178 & 0xFF) # MOVZX operation
ref_258902 = (ref_258900 & 0xFF) # Byte reference - MOV operation
ref_268168 = (ref_241259 & 0xFF) # MOVZX operation
ref_268668 = (ref_268168 & 0xFF) # MOVZX operation
ref_268670 = (ref_268668 & 0xFF) # Byte reference - MOV operation
ref_275223 = ref_75027 # MOV operation
ref_280135 = ref_63759 # MOV operation
ref_280709 = ref_280135 # MOV operation
ref_280723 = ref_275223 # MOV operation
ref_280725 = (ref_280723 & ref_280709) # AND operation
ref_281392 = ref_280725 # MOV operation
ref_281408 = (0xF & ref_281392) # AND operation
ref_281955 = ref_281408 # MOV operation
ref_281971 = (0x1 | ref_281955) # OR operation
ref_283258 = ref_281971 # MOV operation
ref_283260 = ((0x40 - ref_283258) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_283268 = ref_283260 # MOV operation
ref_288304 = ((((((((ref_222555) << 8 | ref_222556) << 8 | ref_258902) << 8 | ref_222558) << 8 | ref_222559) << 8 | ref_222560) << 8 | ref_268670) << 8 | ref_222562) # MOV operation
ref_293422 = ref_148067 # MOV operation
ref_294066 = ref_293422 # MOV operation
ref_294080 = ref_288304 # MOV operation
ref_294082 = ((ref_294080 + ref_294066) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_294624 = ref_294082 # MOV operation
ref_294638 = ref_283268 # MOV operation
ref_294640 = (ref_294638 & 0xFFFFFFFF) # MOV operation
ref_294642 = (ref_294624 >> ((ref_294640 & 0xFF) & 0x3F)) # SHR operation
ref_294649 = ref_294642 # MOV operation
ref_299694 = ((((((((ref_222555) << 8 | ref_222556) << 8 | ref_258902) << 8 | ref_222558) << 8 | ref_222559) << 8 | ref_222560) << 8 | ref_268670) << 8 | ref_222562) # MOV operation
ref_304761 = ref_148067 # MOV operation
ref_305357 = ref_304761 # MOV operation
ref_305371 = ref_299694 # MOV operation
ref_305373 = ((ref_305371 + ref_305357) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_311699 = ref_75027 # MOV operation
ref_316637 = ref_63759 # MOV operation
ref_317279 = ref_316637 # MOV operation
ref_317293 = ref_311699 # MOV operation
ref_317295 = (ref_317293 & ref_317279) # AND operation
ref_317844 = ref_317295 # MOV operation
ref_317860 = (0xF & ref_317844) # AND operation
ref_318527 = ref_317860 # MOV operation
ref_318543 = (0x1 | ref_318527) # OR operation
ref_319174 = ref_305373 # MOV operation
ref_319180 = ref_318543 # MOV operation
ref_319182 = (ref_319180 & 0xFFFFFFFF) # MOV operation
ref_319184 = ((ref_319174 << ((ref_319182 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_319191 = ref_319184 # MOV operation
ref_319805 = ref_319191 # MOV operation
ref_319819 = ref_294649 # MOV operation
ref_319821 = (ref_319819 | ref_319805) # OR operation
ref_324901 = ref_319821 # MOV operation
ref_326199 = ref_324901 # MOV operation
ref_326201 = ref_326199 # MOV operation

print ref_326201 & 0xffffffffffffffff
