#!/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_6749 = SymVar_0
ref_6764 = ref_6749 # MOV operation
ref_14809 = ref_6764 # MOV operation
ref_15251 = ref_14809 # MOV operation
ref_15261 = (ref_15251 >> (0x3 & 0x3F)) # SHR operation
ref_15268 = ref_15261 # MOV operation
ref_17306 = ref_6764 # MOV operation
ref_17505 = ref_17306 # MOV operation
ref_17523 = ((ref_17505 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_17530 = ref_17523 # MOV operation
ref_17755 = ref_15268 # MOV operation
ref_17761 = ref_17530 # MOV operation
ref_17763 = (ref_17761 | ref_17755) # OR operation
ref_17985 = ref_17763 # MOV operation
ref_18001 = ((ref_17985 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_18009 = ref_18001 # MOV operation
ref_18234 = ref_18009 # MOV operation
ref_18236 = ((ref_18234 >> 56) & 0xFF) # Byte reference - MOV operation
ref_18237 = ((ref_18234 >> 48) & 0xFF) # Byte reference - MOV operation
ref_18238 = ((ref_18234 >> 40) & 0xFF) # Byte reference - MOV operation
ref_18239 = ((ref_18234 >> 32) & 0xFF) # Byte reference - MOV operation
ref_18240 = ((ref_18234 >> 24) & 0xFF) # Byte reference - MOV operation
ref_18241 = ((ref_18234 >> 16) & 0xFF) # Byte reference - MOV operation
ref_18242 = ((ref_18234 >> 8) & 0xFF) # Byte reference - MOV operation
ref_18243 = (ref_18234 & 0xFF) # Byte reference - MOV operation
ref_21939 = ref_6764 # MOV operation
ref_23805 = ref_18234 # MOV operation
ref_24012 = ref_21939 # MOV operation
ref_24018 = ref_23805 # MOV operation
ref_24020 = (ref_24018 | ref_24012) # OR operation
ref_24242 = ref_24020 # MOV operation
ref_24258 = ((ref_24242 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_24266 = ref_24258 # MOV operation
ref_24491 = ref_24266 # MOV operation
ref_24493 = ((ref_24491 >> 56) & 0xFF) # Byte reference - MOV operation
ref_24494 = ((ref_24491 >> 48) & 0xFF) # Byte reference - MOV operation
ref_24495 = ((ref_24491 >> 40) & 0xFF) # Byte reference - MOV operation
ref_24496 = ((ref_24491 >> 32) & 0xFF) # Byte reference - MOV operation
ref_24497 = ((ref_24491 >> 24) & 0xFF) # Byte reference - MOV operation
ref_24498 = ((ref_24491 >> 16) & 0xFF) # Byte reference - MOV operation
ref_24499 = ((ref_24491 >> 8) & 0xFF) # Byte reference - MOV operation
ref_24500 = (ref_24491 & 0xFF) # Byte reference - MOV operation
ref_27961 = ref_6764 # MOV operation
ref_29827 = ref_18234 # MOV operation
ref_30034 = ref_27961 # MOV operation
ref_30040 = ref_29827 # MOV operation
ref_30042 = (((sx(0x40, ref_30040) * sx(0x40, ref_30034)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_32163 = ref_24491 # MOV operation
ref_32362 = ref_32163 # MOV operation
ref_32380 = ((ref_32362 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_32387 = ref_32380 # MOV operation
ref_32612 = ref_30042 # MOV operation
ref_32618 = ref_32387 # MOV operation
ref_32620 = (((sx(0x40, ref_32618) * sx(0x40, ref_32612)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_32847 = ref_32620 # MOV operation
ref_36552 = ref_6764 # MOV operation
ref_36751 = ref_36552 # MOV operation
ref_36767 = ((ref_36751 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_36775 = ref_36767 # MOV operation
ref_37000 = ref_36775 # MOV operation
ref_42523 = ((((ref_18236) << 8 | ref_18237) << 8 | ref_18238) << 8 | ref_18239) # MOV operation
ref_42973 = (ref_42523 & 0xFFFFFFFF) # MOV operation
ref_46400 = ((((ref_18240) << 8 | ref_18241) << 8 | ref_18242) << 8 | ref_18243) # MOV operation
ref_49817 = (ref_46400 & 0xFFFFFFFF) # MOV operation
ref_49819 = (((ref_49817 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_49820 = (((ref_49817 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_49821 = (((ref_49817 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_49822 = ((ref_49817 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_50277 = (ref_42973 & 0xFFFFFFFF) # MOV operation
ref_53694 = (ref_50277 & 0xFFFFFFFF) # MOV operation
ref_53696 = (((ref_53694 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_53697 = (((ref_53694 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_53698 = (((ref_53694 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_53699 = ((ref_53694 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_57663 = ((((((((ref_49819) << 8 | ref_49820) << 8 | ref_49821) << 8 | ref_49822) << 8 | ref_53696) << 8 | ref_53697) << 8 | ref_53698) << 8 | ref_53699) # MOV operation
ref_60449 = ref_32847 # MOV operation
ref_62315 = ref_32847 # MOV operation
ref_62522 = ref_60449 # MOV operation
ref_62528 = ref_62315 # MOV operation
ref_62530 = ((ref_62528 + ref_62522) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_62996 = ref_62530 # MOV operation
ref_63004 = (0x3F & ref_62996) # AND operation
ref_63226 = ref_63004 # MOV operation
ref_63244 = ((ref_63226 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_63251 = ref_63244 # MOV operation
ref_63476 = ref_57663 # MOV operation
ref_63482 = ref_63251 # MOV operation
ref_63484 = (ref_63482 | ref_63476) # OR operation
ref_63714 = ref_63484 # MOV operation
ref_69922 = ((((ref_24493) << 8 | ref_24494) << 8 | ref_24495) << 8 | ref_24496) # MOV operation
ref_70372 = (ref_69922 & 0xFFFFFFFF) # MOV operation
ref_73799 = ((((ref_24497) << 8 | ref_24498) << 8 | ref_24499) << 8 | ref_24500) # MOV operation
ref_77216 = (ref_73799 & 0xFFFFFFFF) # MOV operation
ref_77218 = (((ref_77216 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_77219 = (((ref_77216 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_77220 = (((ref_77216 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_77221 = ((ref_77216 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_77676 = (ref_70372 & 0xFFFFFFFF) # MOV operation
ref_81093 = (ref_77676 & 0xFFFFFFFF) # MOV operation
ref_81095 = (((ref_81093 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_81096 = (((ref_81093 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_81097 = (((ref_81093 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_81098 = ((ref_81093 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_85062 = ((((((((ref_77218) << 8 | ref_77219) << 8 | ref_77220) << 8 | ref_77221) << 8 | ref_81095) << 8 | ref_81096) << 8 | ref_81097) << 8 | ref_81098) # MOV operation
ref_87848 = ref_37000 # MOV operation
ref_89714 = ref_32847 # MOV operation
ref_89921 = ref_87848 # MOV operation
ref_89927 = ref_89714 # MOV operation
ref_89929 = ((ref_89927 + ref_89921) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_90395 = ref_89929 # MOV operation
ref_90403 = (0x3F & ref_90395) # AND operation
ref_90625 = ref_90403 # MOV operation
ref_90643 = ((ref_90625 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_90650 = ref_90643 # MOV operation
ref_90875 = ref_85062 # MOV operation
ref_90881 = ref_90650 # MOV operation
ref_90883 = (ref_90881 | ref_90875) # OR operation
ref_91113 = ref_90883 # MOV operation
ref_91115 = ((ref_91113 >> 56) & 0xFF) # Byte reference - MOV operation
ref_91116 = ((ref_91113 >> 48) & 0xFF) # Byte reference - MOV operation
ref_91117 = ((ref_91113 >> 40) & 0xFF) # Byte reference - MOV operation
ref_91118 = ((ref_91113 >> 32) & 0xFF) # Byte reference - MOV operation
ref_91119 = ((ref_91113 >> 24) & 0xFF) # Byte reference - MOV operation
ref_91120 = ((ref_91113 >> 16) & 0xFF) # Byte reference - MOV operation
ref_91121 = ((ref_91113 >> 8) & 0xFF) # Byte reference - MOV operation
ref_91122 = (ref_91113 & 0xFF) # Byte reference - MOV operation
ref_97520 = ref_91117 # MOVZX operation
ref_97966 = (ref_97520 & 0xFF) # MOVZX operation
ref_101178 = ref_91121 # MOVZX operation
ref_104380 = (ref_101178 & 0xFF) # MOVZX operation
ref_104382 = (ref_104380 & 0xFF) # Byte reference - MOV operation
ref_104836 = (ref_97966 & 0xFF) # MOVZX operation
ref_108038 = (ref_104836 & 0xFF) # MOVZX operation
ref_108040 = (ref_108038 & 0xFF) # Byte reference - MOV operation
ref_111509 = ref_32847 # MOV operation
ref_113375 = ref_37000 # MOV operation
ref_113582 = ref_111509 # MOV operation
ref_113588 = ref_113375 # MOV operation
ref_113590 = (ref_113588 & ref_113582) # AND operation
ref_114055 = ref_113590 # MOV operation
ref_114063 = (0xF & ref_114055) # AND operation
ref_114528 = ref_114063 # MOV operation
ref_114536 = (0x1 | ref_114528) # OR operation
ref_116425 = ref_63714 # MOV operation
ref_118291 = ((((((((ref_91115) << 8 | ref_91116) << 8 | ref_104382) << 8 | ref_91118) << 8 | ref_91119) << 8 | ref_91120) << 8 | ref_108040) << 8 | ref_91122) # MOV operation
ref_118498 = ref_116425 # MOV operation
ref_118504 = ref_118291 # MOV operation
ref_118506 = ((ref_118504 + ref_118498) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_118729 = ref_118506 # MOV operation
ref_118743 = ref_114536 # MOV operation
ref_118745 = (ref_118743 & 0xFFFFFFFF) # MOV operation
ref_118747 = ((ref_118729 << ((ref_118745 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_118754 = ref_118747 # MOV operation
ref_120638 = ref_63714 # MOV operation
ref_122504 = ((((((((ref_91115) << 8 | ref_91116) << 8 | ref_104382) << 8 | ref_91118) << 8 | ref_91119) << 8 | ref_91120) << 8 | ref_108040) << 8 | ref_91122) # MOV operation
ref_122711 = ref_120638 # MOV operation
ref_122717 = ref_122504 # MOV operation
ref_122719 = ((ref_122717 + ref_122711) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_124609 = ref_32847 # MOV operation
ref_126475 = ref_37000 # MOV operation
ref_126682 = ref_124609 # MOV operation
ref_126688 = ref_126475 # MOV operation
ref_126690 = (ref_126688 & ref_126682) # AND operation
ref_127155 = ref_126690 # MOV operation
ref_127163 = (0xF & ref_127155) # AND operation
ref_127628 = ref_127163 # MOV operation
ref_127636 = (0x1 | ref_127628) # OR operation
ref_128107 = ref_127636 # MOV operation
ref_128109 = ((0x40 - ref_128107) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_128117 = ref_128109 # MOV operation
ref_128342 = ref_122719 # MOV operation
ref_128348 = ref_128117 # MOV operation
ref_128350 = (ref_128348 & 0xFFFFFFFF) # MOV operation
ref_128352 = (ref_128342 >> ((ref_128350 & 0xFF) & 0x3F)) # SHR operation
ref_128359 = ref_128352 # MOV operation
ref_128584 = ref_118754 # MOV operation
ref_128590 = ref_128359 # MOV operation
ref_128592 = (ref_128590 | ref_128584) # OR operation
ref_128822 = ref_128592 # MOV operation
ref_129312 = ref_128822 # MOV operation
ref_129314 = ref_129312 # MOV operation

print ref_129314 & 0xffffffffffffffff
