#!/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_6613 = ref_278 # MOV operation
ref_7113 = ref_6613 # MOV operation
ref_7121 = ((0x3F22161B + ref_7113) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_9270 = ref_7121 # MOV operation
ref_11260 = ref_278 # MOV operation
ref_11774 = ref_11260 # MOV operation
ref_11784 = (ref_11774 >> (0x39 & 0x3F)) # SHR operation
ref_11791 = ref_11784 # MOV operation
ref_13773 = ref_278 # MOV operation
ref_14270 = ref_13773 # MOV operation
ref_14280 = ((ref_14270 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_14287 = ref_14280 # MOV operation
ref_14535 = ref_14287 # MOV operation
ref_14549 = ref_11791 # MOV operation
ref_14551 = (ref_14549 | ref_14535) # OR operation
ref_17965 = ref_9270 # MOV operation
ref_18206 = ref_17965 # MOV operation
ref_18208 = (((sx(0x40, ref_18206) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_18472 = ref_18208 # MOV operation
ref_18474 = (((sx(0x40, ref_18472) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_19008 = ref_18474 # MOV operation
ref_19018 = (ref_19008 >> (0x1 & 0x3F)) # SHR operation
ref_19025 = ref_19018 # MOV operation
ref_19234 = ref_19025 # MOV operation
ref_19250 = (0xF & ref_19234) # AND operation
ref_19505 = ref_19250 # MOV operation
ref_19521 = (0x1 | ref_19505) # OR operation
ref_19781 = ref_19521 # MOV operation
ref_19783 = ((0x40 - ref_19781) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_19791 = ref_19783 # MOV operation
ref_20064 = ref_14551 # MOV operation
ref_20070 = ref_19791 # MOV operation
ref_20072 = (ref_20070 & 0xFFFFFFFF) # MOV operation
ref_20074 = (ref_20064 >> ((ref_20072 & 0xFF) & 0x3F)) # SHR operation
ref_20081 = ref_20074 # MOV operation
ref_22094 = ref_278 # MOV operation
ref_22576 = ref_22094 # MOV operation
ref_22586 = (ref_22576 >> (0x39 & 0x3F)) # SHR operation
ref_22593 = ref_22586 # MOV operation
ref_24623 = ref_278 # MOV operation
ref_25124 = ref_24623 # MOV operation
ref_25134 = ((ref_25124 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_25141 = ref_25134 # MOV operation
ref_25386 = ref_25141 # MOV operation
ref_25400 = ref_22593 # MOV operation
ref_25402 = (ref_25400 | ref_25386) # OR operation
ref_28531 = ref_9270 # MOV operation
ref_28776 = ref_28531 # MOV operation
ref_28778 = (((sx(0x40, ref_28776) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_29059 = ref_28778 # MOV operation
ref_29061 = (((sx(0x40, ref_29059) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_29539 = ref_29061 # MOV operation
ref_29549 = (ref_29539 >> (0x1 & 0x3F)) # SHR operation
ref_29556 = ref_29549 # MOV operation
ref_29809 = ref_29556 # MOV operation
ref_29825 = (0xF & ref_29809) # AND operation
ref_30081 = ref_29825 # MOV operation
ref_30097 = (0x1 | ref_30081) # OR operation
ref_30361 = ref_25402 # MOV operation
ref_30367 = ref_30097 # MOV operation
ref_30369 = (ref_30367 & 0xFFFFFFFF) # MOV operation
ref_30371 = ((ref_30361 << ((ref_30369 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_30378 = ref_30371 # MOV operation
ref_30623 = ref_30378 # MOV operation
ref_30637 = ref_20081 # MOV operation
ref_30639 = (ref_30637 | ref_30623) # OR operation
ref_32728 = ref_30639 # MOV operation
ref_34786 = ref_278 # MOV operation
ref_36890 = ref_32728 # MOV operation
ref_37404 = ref_36890 # MOV operation
ref_37412 = ((0xAD6EED + ref_37404) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_37635 = ref_34786 # MOV operation
ref_37641 = ref_37412 # MOV operation
ref_37643 = ((ref_37641 + ref_37635) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_39761 = ref_37643 # MOV operation
ref_41835 = ref_9270 # MOV operation
ref_43826 = ref_278 # MOV operation
ref_44061 = ref_43826 # MOV operation
ref_44075 = ref_41835 # MOV operation
ref_44077 = (ref_44075 | ref_44061) # OR operation
ref_46190 = ref_32728 # MOV operation
ref_46704 = ref_46190 # MOV operation
ref_46712 = ((0x2B6B05ED + ref_46704) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_48812 = ref_39761 # MOV operation
ref_49059 = ref_48812 # MOV operation
ref_49073 = ref_46712 # MOV operation
ref_49075 = (ref_49073 & ref_49059) # AND operation
ref_49297 = ref_44077 # MOV operation
ref_49303 = ref_49075 # MOV operation
ref_49305 = ((ref_49303 + ref_49297) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_51430 = ref_49305 # MOV operation
ref_53786 = ref_39761 # MOV operation
ref_54033 = ref_53786 # MOV operation
ref_54049 = (0x3F & ref_54033) # AND operation
ref_54530 = ref_54049 # MOV operation
ref_54540 = ((ref_54530 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_54547 = ref_54540 # MOV operation
ref_56649 = ref_51430 # MOV operation
ref_56882 = ref_56649 # MOV operation
ref_56896 = ref_54547 # MOV operation
ref_56898 = (ref_56896 | ref_56882) # OR operation
ref_59009 = ref_56898 # MOV operation
ref_61128 = ref_9270 # MOV operation
ref_64001 = ref_32728 # MOV operation
ref_64475 = ref_64001 # MOV operation
ref_64485 = (ref_64475 >> (0x4 & 0x3F)) # SHR operation
ref_64492 = ref_64485 # MOV operation
ref_64733 = ref_64492 # MOV operation
ref_64749 = (0xF & ref_64733) # AND operation
ref_65009 = ref_64749 # MOV operation
ref_65025 = (0x1 | ref_65009) # OR operation
ref_65289 = ref_65025 # MOV operation
ref_65291 = ((0x40 - ref_65289) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_65299 = ref_65291 # MOV operation
ref_65556 = ref_61128 # MOV operation
ref_65562 = ref_65299 # MOV operation
ref_65564 = (ref_65562 & 0xFFFFFFFF) # MOV operation
ref_65566 = (ref_65556 >> ((ref_65564 & 0xFF) & 0x3F)) # SHR operation
ref_65573 = ref_65566 # MOV operation
ref_67663 = ref_9270 # MOV operation
ref_70264 = ref_32728 # MOV operation
ref_70732 = ref_70264 # MOV operation
ref_70742 = (ref_70732 >> (0x4 & 0x3F)) # SHR operation
ref_70749 = ref_70742 # MOV operation
ref_71000 = ref_70749 # MOV operation
ref_71016 = (0xF & ref_71000) # AND operation
ref_71273 = ref_71016 # MOV operation
ref_71289 = (0x1 | ref_71273) # OR operation
ref_71559 = ref_67663 # MOV operation
ref_71565 = ref_71289 # MOV operation
ref_71567 = (ref_71565 & 0xFFFFFFFF) # MOV operation
ref_71569 = ((ref_71559 << ((ref_71567 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_71576 = ref_71569 # MOV operation
ref_71817 = ref_71576 # MOV operation
ref_71831 = ref_65573 # MOV operation
ref_71833 = (ref_71831 | ref_71817) # OR operation
ref_73902 = ref_39761 # MOV operation
ref_75959 = ref_59009 # MOV operation
ref_76205 = ref_73902 # MOV operation
ref_76211 = ref_75959 # MOV operation
ref_76213 = ((ref_76211 + ref_76205) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_76436 = ref_71833 # MOV operation
ref_76442 = ref_76213 # MOV operation
ref_76444 = (((sx(0x40, ref_76442) * sx(0x40, ref_76436)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_78472 = ref_76444 # MOV operation
ref_79007 = ref_78472 # MOV operation
ref_79009 = ref_79007 # MOV operation

print ref_79009 & 0xffffffffffffffff
