#!/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_11281 = ref_278 # MOV operation
ref_11591 = ref_11281 # MOV operation
ref_11609 = ((ref_11591 << (0xD & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_11616 = ref_11609 # MOV operation
ref_14815 = ref_278 # MOV operation
ref_15547 = ref_14815 # MOV operation
ref_15557 = (ref_15547 >> (0x33 & 0x3F)) # SHR operation
ref_15564 = ref_15557 # MOV operation
ref_15984 = ref_11616 # MOV operation
ref_15990 = ref_15564 # MOV operation
ref_15992 = (ref_15990 | ref_15984) # OR operation
ref_16399 = ref_15992 # MOV operation
ref_23335 = ref_278 # MOV operation
ref_23725 = ref_23335 # MOV operation
ref_23743 = ((((0x0) << 64 | ref_23725) / 0x6) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_24126 = ref_23743 # MOV operation
ref_24142 = (((sx(0x40, 0xFA0000000002C90C) * sx(0x40, ref_24126)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_24529 = ref_24142 # MOV operation
ref_30780 = ref_16399 # MOV operation
ref_34058 = ref_24529 # MOV operation
ref_34468 = ref_30780 # MOV operation
ref_34474 = ref_34058 # MOV operation
ref_34476 = (ref_34474 | ref_34468) # OR operation
ref_37627 = ref_278 # MOV operation
ref_38017 = ref_37627 # MOV operation
ref_38031 = ref_34476 # MOV operation
ref_38033 = ((ref_38031 + ref_38017) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_38454 = ref_38033 # MOV operation
ref_44712 = ref_24529 # MOV operation
ref_47913 = ref_278 # MOV operation
ref_48273 = ref_47913 # MOV operation
ref_48287 = ref_44712 # MOV operation
ref_48289 = ((ref_48287 + ref_48273) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_52431 = ref_16399 # MOV operation
ref_53292 = ref_52431 # MOV operation
ref_53300 = ((ref_53292 - 0x2ED5CD7E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_53308 = ref_53300 # MOV operation
ref_53700 = ref_53308 # MOV operation
ref_53702 = ((0x28E5FC28 - ref_53700) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_53710 = ref_53702 # MOV operation
ref_54510 = ref_53710 # MOV operation
ref_54520 = (ref_54510 >> (0x2 & 0x3F)) # SHR operation
ref_54527 = ref_54520 # MOV operation
ref_54928 = ref_54527 # MOV operation
ref_54944 = (0x7 & ref_54928) # AND operation
ref_55783 = ref_54944 # MOV operation
ref_55791 = (0x1 | ref_55783) # OR operation
ref_56190 = ref_48289 # MOV operation
ref_56196 = ref_55791 # MOV operation
ref_56198 = (ref_56196 & 0xFFFFFFFF) # MOV operation
ref_56200 = (ref_56190 >> ((ref_56198 & 0xFF) & 0x3F)) # SHR operation
ref_56207 = ref_56200 # MOV operation
ref_56589 = ref_56207 # MOV operation
ref_62785 = ref_56589 # MOV operation
ref_66480 = ref_56589 # MOV operation
ref_67254 = ref_66480 # MOV operation
ref_67264 = (ref_67254 >> (0x1 & 0x3F)) # SHR operation
ref_67271 = ref_67264 # MOV operation
ref_67671 = ref_67271 # MOV operation
ref_67687 = (0x7 & ref_67671) # AND operation
ref_68496 = ref_67687 # MOV operation
ref_68504 = (0x1 | ref_68496) # OR operation
ref_68927 = ref_62785 # MOV operation
ref_68933 = ref_68504 # MOV operation
ref_68935 = (ref_68933 & 0xFFFFFFFF) # MOV operation
ref_68937 = (ref_68927 >> ((ref_68935 & 0xFF) & 0x3F)) # SHR operation
ref_68944 = ref_68937 # MOV operation
ref_69362 = ref_68944 # MOV operation
ref_69364 = ((ref_69362 >> 56) & 0xFF) # Byte reference - MOV operation
ref_69365 = ((ref_69362 >> 48) & 0xFF) # Byte reference - MOV operation
ref_69366 = ((ref_69362 >> 40) & 0xFF) # Byte reference - MOV operation
ref_69367 = ((ref_69362 >> 32) & 0xFF) # Byte reference - MOV operation
ref_69368 = ((ref_69362 >> 24) & 0xFF) # Byte reference - MOV operation
ref_69369 = ((ref_69362 >> 16) & 0xFF) # Byte reference - MOV operation
ref_69370 = ((ref_69362 >> 8) & 0xFF) # Byte reference - MOV operation
ref_69371 = (ref_69362 & 0xFF) # Byte reference - MOV operation
ref_79215 = ref_38454 # MOV operation
ref_83764 = ref_16399 # MOV operation
ref_84112 = ref_83764 # MOV operation
ref_84128 = (0x7 & ref_84112) # AND operation
ref_84545 = ref_84128 # MOV operation
ref_84563 = ((ref_84545 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_84570 = ref_84563 # MOV operation
ref_84970 = ref_79215 # MOV operation
ref_84976 = ref_84570 # MOV operation
ref_84978 = (ref_84976 | ref_84970) # OR operation
ref_85451 = ref_84978 # MOV operation
ref_91539 = ((((ref_69364) << 8 | ref_69365) << 8 | ref_69366) << 8 | ref_69367) # MOV operation
ref_91956 = (ref_91539 & 0xFFFFFFFF) # MOV operation
ref_102858 = ((((ref_69368) << 8 | ref_69369) << 8 | ref_69370) << 8 | ref_69371) # MOV operation
ref_103224 = (ref_102858 & 0xFFFFFFFF) # MOV operation
ref_109389 = (ref_91956 & 0xFFFFFFFF) # MOV operation
ref_109756 = (ref_109389 & 0xFFFFFFFF) # MOV operation
ref_120786 = ref_85451 # MOV operation
ref_125244 = ref_85451 # MOV operation
ref_125628 = ref_125244 # MOV operation
ref_125644 = (0x7 & ref_125628) # AND operation
ref_126073 = ref_125644 # MOV operation
ref_126091 = ((ref_126073 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_126098 = ref_126091 # MOV operation
ref_126430 = ref_120786 # MOV operation
ref_126436 = ref_126098 # MOV operation
ref_126438 = (ref_126436 | ref_126430) # OR operation
ref_126859 = ref_126438 # MOV operation
ref_132919 = (ref_103224 & 0xFFFFFFFF) # MOV operation
ref_133291 = (ref_132919 & 0xFFFFFFFF) # MOV operation
ref_144202 = (ref_109756 & 0xFFFFFFFF) # MOV operation
ref_144609 = (ref_144202 & 0xFFFFFFFF) # MOV operation
ref_144611 = (((ref_144609 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_144612 = (((ref_144609 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_144613 = (((ref_144609 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_144614 = ((ref_144609 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_150738 = (ref_133291 & 0xFFFFFFFF) # MOV operation
ref_151110 = (ref_150738 & 0xFFFFFFFF) # MOV operation
ref_151112 = (((ref_151110 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_151113 = (((ref_151110 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_151114 = (((ref_151110 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_151115 = ((ref_151110 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_163185 = ref_126859 # MOV operation
ref_166853 = ((((((((ref_144611) << 8 | ref_144612) << 8 | ref_144613) << 8 | ref_144614) << 8 | ref_151112) << 8 | ref_151113) << 8 | ref_151114) << 8 | ref_151115) # MOV operation
ref_167211 = ref_166853 # MOV operation
ref_167227 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_167211)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_167633 = ref_163185 # MOV operation
ref_167639 = ref_167227 # MOV operation
ref_167641 = (ref_167639 ^ ref_167633) # XOR operation
ref_168064 = ref_167641 # MOV operation
ref_168080 = (0xF & ref_168064) # AND operation
ref_168849 = ref_168080 # MOV operation
ref_168857 = (0x1 | ref_168849) # OR operation
ref_172159 = ref_24529 # MOV operation
ref_175328 = ref_16399 # MOV operation
ref_175733 = ref_175328 # MOV operation
ref_175747 = ref_172159 # MOV operation
ref_175749 = (((sx(0x40, ref_175747) * sx(0x40, ref_175733)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_176126 = ref_175749 # MOV operation
ref_176140 = ref_168857 # MOV operation
ref_176142 = (ref_176140 & 0xFFFFFFFF) # MOV operation
ref_176144 = ((ref_176126 << ((ref_176142 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_176151 = ref_176144 # MOV operation
ref_179365 = ref_24529 # MOV operation
ref_182697 = ref_16399 # MOV operation
ref_183029 = ref_182697 # MOV operation
ref_183043 = ref_179365 # MOV operation
ref_183045 = (((sx(0x40, ref_183043) * sx(0x40, ref_183029)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_187124 = ref_126859 # MOV operation
ref_190880 = ((((((((ref_144611) << 8 | ref_144612) << 8 | ref_144613) << 8 | ref_144614) << 8 | ref_151112) << 8 | ref_151113) << 8 | ref_151114) << 8 | ref_151115) # MOV operation
ref_191239 = ref_190880 # MOV operation
ref_191255 = (((sx(0x40, 0x4E1A7F2) * sx(0x40, ref_191239)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_191681 = ref_187124 # MOV operation
ref_191687 = ref_191255 # MOV operation
ref_191689 = (ref_191687 ^ ref_191681) # XOR operation
ref_192060 = ref_191689 # MOV operation
ref_192076 = (0xF & ref_192060) # AND operation
ref_192909 = ref_192076 # MOV operation
ref_192917 = (0x1 | ref_192909) # OR operation
ref_193351 = ref_192917 # MOV operation
ref_193353 = ((0x40 - ref_193351) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_193361 = ref_193353 # MOV operation
ref_193761 = ref_183045 # MOV operation
ref_193767 = ref_193361 # MOV operation
ref_193769 = (ref_193767 & 0xFFFFFFFF) # MOV operation
ref_193771 = (ref_193761 >> ((ref_193769 & 0xFF) & 0x3F)) # SHR operation
ref_193778 = ref_193771 # MOV operation
ref_194160 = ref_176151 # MOV operation
ref_194166 = ref_193778 # MOV operation
ref_194168 = (ref_194166 | ref_194160) # OR operation
ref_194583 = ref_194168 # MOV operation
ref_195407 = ref_194583 # MOV operation
ref_195409 = ref_195407 # MOV operation

print ref_195409 & 0xffffffffffffffff
