#!/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_13235 = ref_278 # MOV operation
ref_13371 = ref_13235 # MOV operation
ref_13379 = (ref_13371 >> (0x3 & 0x3F)) # SHR operation
ref_13386 = ref_13379 # MOV operation
ref_14047 = ref_278 # MOV operation
ref_14091 = ref_14047 # MOV operation
ref_14105 = ((ref_14091 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_14182 = ref_13386 # MOV operation
ref_14186 = ref_14105 # MOV operation
ref_14188 = (ref_14186 | ref_14182) # OR operation
ref_14257 = ref_14188 # MOV operation
ref_14271 = ((ref_14257 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_14279 = ref_14271 # MOV operation
ref_14351 = ref_14279 # MOV operation
ref_14353 = ((ref_14351 >> 56) & 0xFF) # Byte reference - MOV operation
ref_14354 = ((ref_14351 >> 48) & 0xFF) # Byte reference - MOV operation
ref_14355 = ((ref_14351 >> 40) & 0xFF) # Byte reference - MOV operation
ref_14356 = ((ref_14351 >> 32) & 0xFF) # Byte reference - MOV operation
ref_14357 = ((ref_14351 >> 24) & 0xFF) # Byte reference - MOV operation
ref_14358 = ((ref_14351 >> 16) & 0xFF) # Byte reference - MOV operation
ref_14359 = ((ref_14351 >> 8) & 0xFF) # Byte reference - MOV operation
ref_14360 = (ref_14351 & 0xFF) # Byte reference - MOV operation
ref_15610 = ref_278 # MOV operation
ref_16252 = ref_14351 # MOV operation
ref_16304 = ref_15610 # MOV operation
ref_16308 = ref_16252 # MOV operation
ref_16310 = (ref_16308 | ref_16304) # OR operation
ref_16379 = ref_16310 # MOV operation
ref_16393 = ((ref_16379 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_16401 = ref_16393 # MOV operation
ref_16473 = ref_16401 # MOV operation
ref_16475 = ((ref_16473 >> 56) & 0xFF) # Byte reference - MOV operation
ref_16476 = ((ref_16473 >> 48) & 0xFF) # Byte reference - MOV operation
ref_16477 = ((ref_16473 >> 40) & 0xFF) # Byte reference - MOV operation
ref_16478 = ((ref_16473 >> 32) & 0xFF) # Byte reference - MOV operation
ref_16479 = ((ref_16473 >> 24) & 0xFF) # Byte reference - MOV operation
ref_16480 = ((ref_16473 >> 16) & 0xFF) # Byte reference - MOV operation
ref_16481 = ((ref_16473 >> 8) & 0xFF) # Byte reference - MOV operation
ref_16482 = (ref_16473 & 0xFF) # Byte reference - MOV operation
ref_17648 = ref_278 # MOV operation
ref_18290 = ref_14351 # MOV operation
ref_18342 = ref_17648 # MOV operation
ref_18346 = ref_18290 # MOV operation
ref_18348 = (((sx(0x40, ref_18346) * sx(0x40, ref_18342)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_19096 = ref_16473 # MOV operation
ref_19140 = ref_19096 # MOV operation
ref_19154 = ((ref_19140 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_19231 = ref_18348 # MOV operation
ref_19235 = ref_19154 # MOV operation
ref_19237 = (((sx(0x40, ref_19235) * sx(0x40, ref_19231)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_19311 = ref_19237 # MOV operation
ref_20570 = ref_278 # MOV operation
ref_20614 = ref_20570 # MOV operation
ref_20628 = ((ref_20614 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_20636 = ref_20628 # MOV operation
ref_20708 = ref_20636 # MOV operation
ref_22551 = ((((ref_14353) << 8 | ref_14354) << 8 | ref_14355) << 8 | ref_14356) # MOV operation
ref_22695 = (ref_22551 & 0xFFFFFFFF) # MOV operation
ref_23823 = ((((ref_14357) << 8 | ref_14358) << 8 | ref_14359) << 8 | ref_14360) # MOV operation
ref_24939 = (ref_23823 & 0xFFFFFFFF) # MOV operation
ref_24941 = (((ref_24939 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_24942 = (((ref_24939 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_24943 = (((ref_24939 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_24944 = ((ref_24939 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_25095 = (ref_22695 & 0xFFFFFFFF) # MOV operation
ref_26211 = (ref_25095 & 0xFFFFFFFF) # MOV operation
ref_26213 = (((ref_26211 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_26214 = (((ref_26211 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_26215 = (((ref_26211 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_26216 = ((ref_26211 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_27579 = ((((((((ref_24941) << 8 | ref_24942) << 8 | ref_24943) << 8 | ref_24944) << 8 | ref_26213) << 8 | ref_26214) << 8 | ref_26215) << 8 | ref_26216) # MOV operation
ref_28529 = ref_19311 # MOV operation
ref_29171 = ref_19311 # MOV operation
ref_29223 = ref_28529 # MOV operation
ref_29227 = ref_29171 # MOV operation
ref_29229 = ((ref_29227 + ref_29223) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_29391 = ref_29229 # MOV operation
ref_29397 = (0x3F & ref_29391) # AND operation
ref_29466 = ref_29397 # MOV operation
ref_29480 = ((ref_29466 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_29557 = ref_27579 # MOV operation
ref_29561 = ref_29480 # MOV operation
ref_29563 = (ref_29561 | ref_29557) # OR operation
ref_29640 = ref_29563 # MOV operation
ref_31707 = ((((ref_16475) << 8 | ref_16476) << 8 | ref_16477) << 8 | ref_16478) # MOV operation
ref_31851 = (ref_31707 & 0xFFFFFFFF) # MOV operation
ref_32979 = ((((ref_16479) << 8 | ref_16480) << 8 | ref_16481) << 8 | ref_16482) # MOV operation
ref_34095 = (ref_32979 & 0xFFFFFFFF) # MOV operation
ref_34097 = (((ref_34095 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_34098 = (((ref_34095 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_34099 = (((ref_34095 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_34100 = ((ref_34095 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_34251 = (ref_31851 & 0xFFFFFFFF) # MOV operation
ref_35367 = (ref_34251 & 0xFFFFFFFF) # MOV operation
ref_35369 = (((ref_35367 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_35370 = (((ref_35367 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_35371 = (((ref_35367 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_35372 = ((ref_35367 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_36735 = ((((((((ref_34097) << 8 | ref_34098) << 8 | ref_34099) << 8 | ref_34100) << 8 | ref_35369) << 8 | ref_35370) << 8 | ref_35371) << 8 | ref_35372) # MOV operation
ref_37685 = ref_20708 # MOV operation
ref_38327 = ref_19311 # MOV operation
ref_38379 = ref_37685 # MOV operation
ref_38383 = ref_38327 # MOV operation
ref_38385 = ((ref_38383 + ref_38379) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_38547 = ref_38385 # MOV operation
ref_38553 = (0x3F & ref_38547) # AND operation
ref_38622 = ref_38553 # MOV operation
ref_38636 = ((ref_38622 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_38713 = ref_36735 # MOV operation
ref_38717 = ref_38636 # MOV operation
ref_38719 = (ref_38717 | ref_38713) # OR operation
ref_38796 = ref_38719 # MOV operation
ref_38798 = ((ref_38796 >> 56) & 0xFF) # Byte reference - MOV operation
ref_38799 = ((ref_38796 >> 48) & 0xFF) # Byte reference - MOV operation
ref_38800 = ((ref_38796 >> 40) & 0xFF) # Byte reference - MOV operation
ref_38801 = ((ref_38796 >> 32) & 0xFF) # Byte reference - MOV operation
ref_38802 = ((ref_38796 >> 24) & 0xFF) # Byte reference - MOV operation
ref_38803 = ((ref_38796 >> 16) & 0xFF) # Byte reference - MOV operation
ref_38804 = ((ref_38796 >> 8) & 0xFF) # Byte reference - MOV operation
ref_38805 = (ref_38796 & 0xFF) # Byte reference - MOV operation
ref_40911 = ref_38800 # MOVZX operation
ref_41051 = (ref_40911 & 0xFF) # MOVZX operation
ref_42119 = ref_38804 # MOVZX operation
ref_43175 = (ref_42119 & 0xFF) # MOVZX operation
ref_43177 = (ref_43175 & 0xFF) # Byte reference - MOV operation
ref_43327 = (ref_41051 & 0xFF) # MOVZX operation
ref_44383 = (ref_43327 & 0xFF) # MOVZX operation
ref_44385 = (ref_44383 & 0xFF) # Byte reference - MOV operation
ref_45559 = ref_19311 # MOV operation
ref_46201 = ref_20708 # MOV operation
ref_46253 = ref_45559 # MOV operation
ref_46257 = ref_46201 # MOV operation
ref_46259 = (ref_46257 & ref_46253) # AND operation
ref_46420 = ref_46259 # MOV operation
ref_46426 = (0xF & ref_46420) # AND operation
ref_46587 = ref_46426 # MOV operation
ref_46593 = (0x1 | ref_46587) # OR operation
ref_47260 = ref_29640 # MOV operation
ref_47902 = ((((((((ref_38798) << 8 | ref_38799) << 8 | ref_43177) << 8 | ref_38801) << 8 | ref_38802) << 8 | ref_38803) << 8 | ref_44385) << 8 | ref_38805) # MOV operation
ref_47954 = ref_47260 # MOV operation
ref_47958 = ref_47902 # MOV operation
ref_47960 = ((ref_47958 + ref_47954) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_48030 = ref_47960 # MOV operation
ref_48042 = ref_46593 # MOV operation
ref_48044 = ((ref_48030 << ((ref_48042 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_48711 = ref_29640 # MOV operation
ref_49353 = ((((((((ref_38798) << 8 | ref_38799) << 8 | ref_43177) << 8 | ref_38801) << 8 | ref_38802) << 8 | ref_38803) << 8 | ref_44385) << 8 | ref_38805) # MOV operation
ref_49405 = ref_48711 # MOV operation
ref_49409 = ref_49353 # MOV operation
ref_49411 = ((ref_49409 + ref_49405) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_50079 = ref_19311 # MOV operation
ref_50721 = ref_20708 # MOV operation
ref_50773 = ref_50079 # MOV operation
ref_50777 = ref_50721 # MOV operation
ref_50779 = (ref_50777 & ref_50773) # AND operation
ref_50940 = ref_50779 # MOV operation
ref_50946 = (0xF & ref_50940) # AND operation
ref_51107 = ref_50946 # MOV operation
ref_51113 = (0x1 | ref_51107) # OR operation
ref_51278 = ref_51113 # MOV operation
ref_51280 = ((0x40 - ref_51278) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_51288 = ref_51280 # MOV operation
ref_51360 = ref_49411 # MOV operation
ref_51364 = ref_51288 # MOV operation
ref_51366 = (ref_51364 & 0xFFFFFFFF) # MOV operation
ref_51368 = (ref_51360 >> ((ref_51366 & 0xFF) & 0x3F)) # SHR operation
ref_51375 = ref_51368 # MOV operation
ref_51447 = ref_48044 # MOV operation
ref_51451 = ref_51375 # MOV operation
ref_51453 = (ref_51451 | ref_51447) # OR operation
ref_51530 = ref_51453 # MOV operation
ref_51684 = ref_51530 # MOV operation
ref_51686 = ref_51684 # MOV operation

print ref_51686 & 0xffffffffffffffff
