/* Provide Declarations */ #include #include #ifndef __cplusplus typedef unsigned char bool; #endif typedef uint64_t ConstantDoubleTy; #ifndef _MSC_VER #define __forceinline __attribute__((always_inline)) inline #endif #if defined(__GNUC__) #define __ATTRIBUTELIST__(x) __attribute__(x) #else #define __ATTRIBUTELIST__(x) #endif #ifdef _MSC_VER /* Can only support "linkonce" vars with GCC */ #define __attribute__(X) #endif #ifdef _MSC_VER #define __PREFIXALIGN__(X) __declspec(align(X)) #define __POSTFIXALIGN__(X) #else #define __PREFIXALIGN__(X) #define __POSTFIXALIGN__(X) __attribute__((aligned(X))) #endif static __forceinline int llvm_fcmp_uno(double X, double Y) { return X != X || Y != Y; } static __forceinline int llvm_fcmp_ole(double X, double Y) { return X <= Y; } static __forceinline int llvm_fcmp_ogt(double X, double Y) { return X > Y; } static __forceinline int llvm_fcmp_oeq(double X, double Y) { return X == Y; } /* Global Declarations */ /* Helper union for bitcasts */ typedef union { uint32_t Int32; uint64_t Int64; float Float; double Double; } llvmBitCastUnion; /* Types Declarations */ struct l_array_20_uint8_t; struct l_struct_struct_OC_DynamicArray; struct l_struct_struct_OC_Matrix; struct l_struct_struct_OC_Node; struct l_array_256_uint8_t; struct l_struct_struct_OC_Point; struct l_struct_struct_OC_Circle; struct l_array_9_uint8_t; struct l_array_55_uint8_t; struct l_array_33_uint8_t; struct l_array_29_uint8_t; struct l_array_36_uint8_t; struct l_array_31_uint8_t; struct l_array_25_uint8_t; struct l_array_46_uint8_t; struct l_array_49_uint8_t; struct l_array_35_uint8_t; struct l_array_19_uint8_t; struct l_array_27_uint8_t; struct l_array_32_uint8_t; struct l_array_39_uint8_t; struct l_array_28_uint8_t; struct l_array_43_uint8_t; struct l_array_41_uint8_t; struct l_array_44_uint8_t; struct l_array_45_uint8_t; struct l_array_42_uint8_t; struct l_array_38_uint8_t; struct l_array_34_uint8_t; struct l_array_30_uint8_t; struct l_array_11_uint8_t; struct l_array_22_uint8_t; struct l_array_15_uint8_t; struct l_array_24_uint8_t; struct l_array_26_uint8_t; struct l_array_17_uint8_t; struct l_array_14_uint8_t; struct l_array_21_uint8_t; struct l_array_16_uint8_t; struct l_array_100_uint32_t; struct l_array_8_uint32_t; struct l_array_97_uint32_t; struct l_unnamed_2; struct l_array_97_struct_AC_l_unnamed_2; struct l_unnamed_1; struct l_struct_fused_return_projectA_main_memoizedFib; struct l_struct_fused_return_createDynamicArray_processMatrix; /* Function definitions */ /* Types Definitions */ struct l_array_20_uint8_t { uint8_t array[20]; }; struct l_struct_struct_OC_DynamicArray { void* field0; uint32_t field1; uint32_t field2; uint32_t field3; uint32_t field4; }; struct l_struct_struct_OC_Matrix { void* field0; uint32_t field1; uint32_t field2; uint32_t field3; double field4; }; struct l_struct_struct_OC_Node { uint32_t field0; void* field1; void* field2; uint32_t field3; uint32_t field4; }; struct l_array_256_uint8_t { uint8_t array[256]; }; struct l_struct_struct_OC_Point { uint32_t field0; uint32_t field1; struct l_array_256_uint8_t field2; double field3; }; struct l_struct_struct_OC_Circle { struct l_struct_struct_OC_Point field0; double field1; uint32_t field2; struct l_array_256_uint8_t field3; }; struct l_array_9_uint8_t { uint8_t array[9]; }; struct l_array_55_uint8_t { uint8_t array[55]; }; struct l_array_33_uint8_t { uint8_t array[33]; }; struct l_array_29_uint8_t { uint8_t array[29]; }; struct l_array_36_uint8_t { uint8_t array[36]; }; struct l_array_31_uint8_t { uint8_t array[31]; }; struct l_array_25_uint8_t { uint8_t array[25]; }; struct l_array_46_uint8_t { uint8_t array[46]; }; struct l_array_49_uint8_t { uint8_t array[49]; }; struct l_array_35_uint8_t { uint8_t array[35]; }; struct l_array_19_uint8_t { uint8_t array[19]; }; struct l_array_27_uint8_t { uint8_t array[27]; }; struct l_array_32_uint8_t { uint8_t array[32]; }; struct l_array_39_uint8_t { uint8_t array[39]; }; struct l_array_28_uint8_t { uint8_t array[28]; }; struct l_array_43_uint8_t { uint8_t array[43]; }; struct l_array_41_uint8_t { uint8_t array[41]; }; struct l_array_44_uint8_t { uint8_t array[44]; }; struct l_array_45_uint8_t { uint8_t array[45]; }; struct l_array_42_uint8_t { uint8_t array[42]; }; struct l_array_38_uint8_t { uint8_t array[38]; }; struct l_array_34_uint8_t { uint8_t array[34]; }; struct l_array_30_uint8_t { uint8_t array[30]; }; struct l_array_11_uint8_t { uint8_t array[11]; }; struct l_array_22_uint8_t { uint8_t array[22]; }; struct l_array_15_uint8_t { uint8_t array[15]; }; struct l_array_24_uint8_t { uint8_t array[24]; }; struct l_array_26_uint8_t { uint8_t array[26]; }; struct l_array_17_uint8_t { uint8_t array[17]; }; struct l_array_14_uint8_t { uint8_t array[14]; }; struct l_array_21_uint8_t { uint8_t array[21]; }; struct l_array_16_uint8_t { uint8_t array[16]; }; struct l_array_100_uint32_t { uint32_t array[100]; }; struct l_array_8_uint32_t { uint32_t array[8]; }; struct l_array_97_uint32_t { uint32_t array[97]; }; #ifdef _MSC_VER #pragma pack(push, 1) #endif struct l_unnamed_2 { uint32_t field0; uint32_t field1; uint32_t field2; struct l_array_97_uint32_t field3; } __attribute__ ((packed)); #ifdef _MSC_VER #pragma pack(pop) #endif struct l_array_97_struct_AC_l_unnamed_2 { struct l_unnamed_2 array[97]; }; #ifdef _MSC_VER #pragma pack(push, 1) #endif struct l_unnamed_1 { struct l_unnamed_2 field0; struct l_unnamed_2 field1; struct l_unnamed_2 field2; struct l_array_97_struct_AC_l_unnamed_2 field3; } __attribute__ ((packed)); #ifdef _MSC_VER #pragma pack(pop) #endif /* Global Variable Declarations */ extern uint32_t globalCounter; extern void* globalErrorMessage; extern uint32_t recursionDepth; const static struct l_array_9_uint8_t _OC_str; extern void* stderr; const static struct l_array_55_uint8_t _OC_str_OC_1; const static struct l_array_33_uint8_t _OC_str_OC_2; const static struct l_array_29_uint8_t _OC_str_OC_3; const static struct l_array_36_uint8_t _OC_str_OC_4; const static struct l_array_31_uint8_t _OC_str_OC_5; const static struct l_array_25_uint8_t _OC_str_OC_6; const static struct l_array_46_uint8_t _OC_str_OC_7; const static struct l_array_49_uint8_t _OC_str_OC_8; const static struct l_array_35_uint8_t _OC_str_OC_9; const static struct l_array_19_uint8_t _OC_str_OC_10; const static struct l_array_25_uint8_t _OC_str_OC_11; const static struct l_array_27_uint8_t _OC_str_OC_12; const static struct l_array_46_uint8_t _OC_str_OC_13; const static struct l_array_32_uint8_t _OC_str_OC_14; const static struct l_array_39_uint8_t _OC_str_OC_15; const static struct l_array_28_uint8_t _OC_str_OC_16; const static struct l_array_46_uint8_t _OC_str_OC_17; const static struct l_array_43_uint8_t _OC_str_OC_18; const static struct l_array_41_uint8_t _OC_str_OC_19; const static struct l_array_44_uint8_t _OC_str_OC_20; const static struct l_array_20_uint8_t _OC_str_OC_21; const static struct l_array_20_uint8_t _OC_str_OC_22; const static struct l_array_45_uint8_t _OC_str_OC_23; const static struct l_array_42_uint8_t _OC_str_OC_24; const static struct l_array_38_uint8_t _OC_str_OC_25; static uint32_t insertNode_OC_maxDepth; const static struct l_array_34_uint8_t _OC_str_OC_26; static uint32_t calculationResult; const static struct l_array_30_uint8_t _OC_str_OC_27; const static struct l_array_11_uint8_t _OC_str_OC_28; const static struct l_array_29_uint8_t _OC_str_OC_29; const static struct l_array_33_uint8_t _OC_str_OC_30; const static struct l_array_43_uint8_t _OC_str_OC_31; const static struct l_array_22_uint8_t _OC_str_OC_32; const static struct l_array_31_uint8_t _OC_str_OC_33; const static struct l_array_30_uint8_t _OC_str_OC_34; const static struct l_array_36_uint8_t _OC_str_OC_35; const static struct l_array_15_uint8_t _OC_str_OC_36; const static struct l_array_22_uint8_t _OC_str_OC_37; const static struct l_array_24_uint8_t _OC_str_OC_38; const static struct l_array_45_uint8_t _OC_str_OC_39; const static struct l_array_26_uint8_t _OC_str_OC_40; const static struct l_array_9_uint8_t _OC_str_OC_41; const static struct l_array_9_uint8_t _OC_str_OC_42; const static struct l_array_35_uint8_t _OC_str_OC_43; const static struct l_array_20_uint8_t _OC_str_OC_44; const static struct l_array_17_uint8_t _OC_str_OC_45; const static struct l_array_28_uint8_t _OC_str_OC_46; const static struct l_array_27_uint8_t _OC_str_OC_47; const static struct l_array_32_uint8_t _OC_str_OC_48; const static struct l_array_14_uint8_t _OC_str_OC_49; const static struct l_array_21_uint8_t _OC_str_OC_50; const static struct l_array_16_uint8_t _OC_str_OC_51; const static struct l_array_39_uint8_t _OC_str_OC_52; const static struct l_array_21_uint8_t _OC_str_OC_53; const static struct l_array_30_uint8_t _OC_str_OC_54; const static struct l_array_21_uint8_t _OC_str_OC_55; const static struct l_array_9_uint8_t _OC_str_OC_56; static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16); const static struct l_array_14_uint8_t __const_OC_projectB_main_OC_str; const static __PREFIXALIGN__(16) struct l_array_8_uint32_t __const_OC_projectB_main_OC_arr __POSTFIXALIGN__(16); const static __PREFIXALIGN__(16) struct l_unnamed_1 __const_OC_projectB_main_OC_matrix __POSTFIXALIGN__(16); /* Function Declarations */ void* getErrorMessage(void) __ATTRIBUTELIST__((noinline, nothrow)); void free(void* _610) __ATTRIBUTELIST__((nothrow)); void* strdup(void* _611) __ATTRIBUTELIST__((nothrow)); uint32_t fprintf(void* _612, void* _613, ...); uint32_t factorial(uint32_t _7) __ATTRIBUTELIST__((noinline, nothrow)); void* malloc(uint64_t _614) __ATTRIBUTELIST__((nothrow)); void pushBack(void* _50, uint32_t _51) __ATTRIBUTELIST__((noinline, nothrow)); void* realloc(void* _615, uint64_t _616) __ATTRIBUTELIST__((nothrow)); void* calloc(uint64_t _617, uint64_t _618) __ATTRIBUTELIST__((nothrow)); void* multiplyMatrices(void* _111, void* _112) __ATTRIBUTELIST__((noinline, nothrow)); uint32_t abs(uint32_t _619) __ATTRIBUTELIST__((nothrow)); void* insertNode(void* _251, uint32_t _252) __ATTRIBUTELIST__((noinline, nothrow)); uint32_t printf(void* _620, ...); uint64_t time(void* _621) __ATTRIBUTELIST__((nothrow)); void srand(uint32_t _622) __ATTRIBUTELIST__((nothrow)); uint32_t rand(void) __ATTRIBUTELIST__((nothrow)); double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) __ATTRIBUTELIST__((noinline, nothrow)); double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) __ATTRIBUTELIST__((noinline, nothrow)); uint32_t strcmp(void* _623, void* _624) __ATTRIBUTELIST__((nothrow)); uint32_t validateMatrix(void* _449) __ATTRIBUTELIST__((noinline, nothrow)); void* findCentroid(void* _504, uint32_t _505, void* _506) __ATTRIBUTELIST__((noinline, nothrow)); void* strcpy(void* _625, void* _626) __ATTRIBUTELIST__((nothrow)); uint64_t strlen(void* _627) __ATTRIBUTELIST__((nothrow)); uint32_t fused_quickSort(bool _628, void* _629, uint32_t _630, uint32_t _631, void* _632, uint32_t _633); uint32_t fused_performSimpleCalculations(bool _634, void* _635, uint32_t _636); struct l_struct_fused_return_projectA_main_memoizedFib fused_projectA_main(bool _637, uint32_t _638); struct l_struct_fused_return_createDynamicArray_processMatrix fused_createDynamicArray(bool _639, uint32_t _640, void* _641, uint32_t _642); uint32_t fused_setErrorMessage(bool _643, void* _644); void* fused_createMatrix(bool _645, uint32_t _646, uint32_t _647, void* _648); uint32_t fused_removeDuplicates(bool _649, void* _650, uint32_t _651); /* Global Variable Definitions and Initialization */ uint32_t globalCounter; void* globalErrorMessage; uint32_t recursionDepth; static const struct l_array_9_uint8_t _OC_str = { "No error" }; static const struct l_array_55_uint8_t _OC_str_OC_1 = { "Critical: Failed to allocate memory for error message\n" }; static const struct l_array_33_uint8_t _OC_str_OC_2 = { "Maximum recursion depth exceeded" }; static const struct l_array_29_uint8_t _OC_str_OC_3 = { "Factorial of negative number" }; static const struct l_array_36_uint8_t _OC_str_OC_4 = { "Input too large, potential overflow" }; static const struct l_array_31_uint8_t _OC_str_OC_5 = { "Factorial calculation overflow" }; static const struct l_array_25_uint8_t _OC_str_OC_6 = { "Invalid initial capacity" }; static const struct l_array_46_uint8_t _OC_str_OC_7 = { "Initial capacity exceeds maximum allowed size" }; static const struct l_array_49_uint8_t _OC_str_OC_8 = { "Memory allocation failed for DynamicArray struct" }; static const struct l_array_35_uint8_t _OC_str_OC_9 = { "Memory allocation failed for array" }; static const struct l_array_19_uint8_t _OC_str_OC_10 = { "Null array pointer" }; static const struct l_array_25_uint8_t _OC_str_OC_11 = { "Array size limit reached" }; static const struct l_array_27_uint8_t _OC_str_OC_12 = { "Memory reallocation failed" }; static const struct l_array_46_uint8_t _OC_str_OC_13 = { "Maximum recursion depth exceeded in quickSort" }; static const struct l_array_32_uint8_t _OC_str_OC_14 = { "Null array pointer in quickSort" }; static const struct l_array_39_uint8_t _OC_str_OC_15 = { "Array index out of bounds in quickSort" }; static const struct l_array_28_uint8_t _OC_str_OC_16 = { "Matrix dimensions too small" }; static const struct l_array_46_uint8_t _OC_str_OC_17 = { "Matrix dimensions exceed maximum allowed size" }; static const struct l_array_43_uint8_t _OC_str_OC_18 = { "Memory allocation failed for matrix struct" }; static const struct l_array_41_uint8_t _OC_str_OC_19 = { "Memory allocation failed for matrix rows" }; static const struct l_array_44_uint8_t _OC_str_OC_20 = { "Memory allocation failed for matrix columns" }; static const struct l_array_20_uint8_t _OC_str_OC_21 = { "Null matrix pointer" }; static const struct l_array_20_uint8_t _OC_str_OC_22 = { "Invalid matrix data" }; static const struct l_array_45_uint8_t _OC_str_OC_23 = { "Invalid matrix dimensions for multiplication" }; static const struct l_array_42_uint8_t _OC_str_OC_24 = { "Integer overflow in matrix multiplication" }; static const struct l_array_38_uint8_t _OC_str_OC_25 = { "Memory allocation failed for new node" }; static uint32_t insertNode_OC_maxDepth; static const struct l_array_34_uint8_t _OC_str_OC_26 = { "List exceeds maximum allowed size" }; static uint32_t calculationResult; static const struct l_array_30_uint8_t _OC_str_OC_27 = { "Final calculation result: %d\n" }; static const struct l_array_11_uint8_t _OC_str_OC_28 = { "Error: %s\n" }; static const struct l_array_29_uint8_t _OC_str_OC_29 = { "Error during array push: %s\n" }; static const struct l_array_33_uint8_t _OC_str_OC_30 = { "Error during list insertion: %s\n" }; static const struct l_array_43_uint8_t _OC_str_OC_31 = { "Circular reference detected in linked list" }; static const struct l_array_22_uint8_t _OC_str_OC_32 = { "Invalid point weights" }; static const struct l_array_31_uint8_t _OC_str_OC_33 = { "Coordinates out of valid range" }; static const struct l_array_30_uint8_t _OC_str_OC_34 = { "Distance calculation overflow" }; static const struct l_array_36_uint8_t _OC_str_OC_35 = { "Invalid distance calculation result" }; static const struct l_array_15_uint8_t _OC_str_OC_36 = { "Invalid circle" }; static const struct l_array_22_uint8_t _OC_str_OC_37 = { "Invalid circle radius" }; static const struct l_array_24_uint8_t _OC_str_OC_38 = { "Circle radius too large" }; static const struct l_array_45_uint8_t _OC_str_OC_39 = { "Circle center coordinates out of valid range" }; static const struct l_array_26_uint8_t _OC_str_OC_40 = { "Area calculation overflow" }; static const struct l_array_9_uint8_t _OC_str_OC_41 = { "standard" }; static const struct l_array_9_uint8_t _OC_str_OC_42 = { "weighted" }; static const struct l_array_35_uint8_t _OC_str_OC_43 = { "Invalid weight for weighted circle" }; static const struct l_array_20_uint8_t _OC_str_OC_44 = { "Unknown circle type" }; static const struct l_array_17_uint8_t _OC_str_OC_45 = { "Null matrix data" }; static const struct l_array_28_uint8_t _OC_str_OC_46 = { "Matrix dimensions too large" }; static const struct l_array_27_uint8_t _OC_str_OC_47 = { "Invalid matrix row pointer" }; static const struct l_array_32_uint8_t _OC_str_OC_48 = { "Inconsistent square matrix flag" }; static const struct l_array_14_uint8_t _OC_str_OC_49 = { "Invalid array" }; static const struct l_array_21_uint8_t _OC_str_OC_50 = { "Invalid points array" }; static const struct l_array_16_uint8_t _OC_str_OC_51 = { "Too many points" }; static const struct l_array_39_uint8_t _OC_str_OC_52 = { "Failed to allocate memory for centroid" }; static const struct l_array_21_uint8_t _OC_str_OC_53 = { "Invalid point weight" }; static const struct l_array_30_uint8_t _OC_str_OC_54 = { "Centroid calculation overflow" }; static const struct l_array_21_uint8_t _OC_str_OC_55 = { "Total weight is zero" }; static const struct l_array_9_uint8_t _OC_str_OC_56 = { "Centroid" }; static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16); static const struct l_array_14_uint8_t __const_OC_projectB_main_OC_str = { "Hello, World!" }; static const __PREFIXALIGN__(16) struct l_array_8_uint32_t __const_OC_projectB_main_OC_arr __POSTFIXALIGN__(16) = { { 10, 22, 9, 33, 21, 50, 41, 60 } }; static const __PREFIXALIGN__(16) struct l_unnamed_1 __const_OC_projectB_main_OC_matrix __POSTFIXALIGN__(16) = { { 1, 2, 3, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 4, 5, 6, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 7, 8, 9, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { { { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } } } }; /* LLVM Intrinsic Builtin Function Bodies */ static __forceinline uint32_t llvm_select_u32(bool condition, uint32_t iftrue, uint32_t ifnot) { uint32_t r; r = condition ? iftrue : ifnot; return r; } static __forceinline uint32_t llvm_add_u32(uint32_t a, uint32_t b) { uint32_t r = a + b; return r; } static __forceinline uint64_t llvm_add_u64(uint64_t a, uint64_t b) { uint64_t r = a + b; return r; } static __forceinline uint32_t llvm_sub_u32(uint32_t a, uint32_t b) { uint32_t r = a - b; return r; } static __forceinline uint32_t llvm_mul_u32(uint32_t a, uint32_t b) { uint32_t r = a * b; return r; } static __forceinline uint64_t llvm_mul_u64(uint64_t a, uint64_t b) { uint64_t r = a * b; return r; } static __forceinline uint32_t llvm_sdiv_u32(int32_t a, int32_t b) { uint32_t r = a / b; return r; } static __forceinline double llvm_OC_fabs_OC_f64(double a) { double r; r = fabs(a); return r; } /* Function Bodies */ void* getErrorMessage(void) { void* _1; void* _2; void* _3; void* _3__PHI_TEMPORARY; _1 = globalErrorMessage; if ((_1 != ((void*)/*NULL*/0))) { goto _4; } else { goto _5; } _4: _2 = globalErrorMessage; _3__PHI_TEMPORARY = _2; /* for PHI node */ goto _6; _5: _3__PHI_TEMPORARY = (&_OC_str); /* for PHI node */ goto _6; _6: _3 = _3__PHI_TEMPORARY; return _3; } uint32_t factorial(uint32_t _7) { uint32_t _8; /* Address-exposed local */ uint32_t _9; /* Address-exposed local */ uint32_t _10; /* Address-exposed local */ uint32_t _11; /* Address-exposed local */ uint32_t _12; uint32_t _13; uint32_t _14; uint32_t _15; uint32_t _16; uint32_t _17; uint32_t _18; uint32_t _19; uint32_t _20; uint32_t _21; uint32_t _22; uint32_t _23; uint32_t _24; uint32_t _25; uint32_t _26; uint32_t _27; uint32_t _28; uint32_t _29; uint32_t _30; uint32_t _31; uint32_t _32; uint32_t _33; uint32_t _34; uint32_t _35; _9 = _7; _12 = recursionDepth; _13 = llvm_add_u32(_12, 1); recursionDepth = _13; if ((((int32_t)_13) > ((int32_t)1000u))) { goto _36; } else { goto _37; } _36: _14 = fused_setErrorMessage(0, (&_OC_str_OC_2)); _15 = recursionDepth; recursionDepth = (llvm_add_u32(_15, -1)); _8 = -1; goto _38; _37: _16 = _9; if ((((int32_t)_16) < ((int32_t)0u))) { goto _39; } else { goto _40; } _39: _17 = fused_setErrorMessage(0, (&_OC_str_OC_3)); _18 = recursionDepth; recursionDepth = (llvm_add_u32(_18, -1)); _8 = -1; goto _38; _40: _19 = _9; if ((((int32_t)_19) > ((int32_t)20u))) { goto _41; } else { goto _42; } _41: _20 = fused_setErrorMessage(0, (&_OC_str_OC_4)); _21 = recursionDepth; recursionDepth = (llvm_add_u32(_21, -1)); _8 = -1; goto _38; _42: _22 = _9; if ((((int32_t)_22) <= ((int32_t)1u))) { goto _43; } else { goto _44; } _43: _10 = 1; goto _45; _44: _23 = _9; _24 = factorial((llvm_sub_u32(_23, 1))); _11 = _24; _25 = _11; if ((_25 == 4294967295u)) { goto _46; } else { goto _47; } _46: _26 = recursionDepth; recursionDepth = (llvm_add_u32(_26, -1)); _8 = -1; goto _38; _47: _27 = _11; _28 = _9; if ((((int32_t)_27) > ((int32_t)(llvm_sdiv_u32(2147483647u, _28))))) { goto _48; } else { goto _49; } _48: _29 = fused_setErrorMessage(0, (&_OC_str_OC_5)); _30 = recursionDepth; recursionDepth = (llvm_add_u32(_30, -1)); _8 = -1; goto _38; _49: _31 = _9; _32 = _11; _10 = (llvm_mul_u32(_31, _32)); goto _45; _45: _33 = recursionDepth; recursionDepth = (llvm_add_u32(_33, -1)); _34 = _10; _8 = _34; goto _38; _38: _35 = _8; return _35; } void pushBack(void* _50, uint32_t _51) { void* _52; /* Address-exposed local */ uint32_t _53; /* Address-exposed local */ uint32_t _54; /* Address-exposed local */ void* _55; /* Address-exposed local */ void* _56; uint32_t _57; void* _58; uint32_t _59; uint32_t _60; void* _61; uint32_t _62; void* _63; uint32_t _64; void* _65; uint32_t _66; uint32_t _67; void* _68; void* _69; uint32_t _70; void* _71; void* _72; uint32_t _73; void* _74; void* _75; uint32_t _76; void* _77; void* _78; uint32_t _79; void* _80; uint32_t _81; uint32_t _82; void* _83; void* _84; void* _85; uint32_t _86; uint32_t _87; void* _88; uint32_t _89; void* _90; void* _91; void* _92; void* _93; uint32_t _94; void* _95; _52 = _50; _53 = _51; _56 = _52; if ((_56 != ((void*)/*NULL*/0))) { goto _96; } else { goto _97; } _97: _57 = fused_setErrorMessage(0, (&_OC_str_OC_10)); goto _98; _96: _58 = _52; _59 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_58)->field1)))); if ((((int32_t)_59) >= ((int32_t)1000u))) { goto _99; } else { goto _100; } _99: _60 = fused_setErrorMessage(0, (&_OC_str_OC_11)); goto _98; _100: _61 = _52; _62 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_61)->field1)))); _63 = _52; _64 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_63)->field2)))); if ((((int32_t)_62) >= ((int32_t)_64))) { goto _101; } else { goto _102; } _101: _65 = _52; _66 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_65)->field2)))); _54 = (llvm_mul_u32(_66, 2)); _67 = _54; if ((((int32_t)_67) > ((int32_t)1000u))) { goto _103; } else { goto _104; } _103: _54 = 1000; goto _104; _104: _68 = _52; _69 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_68)->field0)))); _70 = _54; _71 = realloc((((void*)_69)), (llvm_mul_u64(4, (((int64_t)(int32_t)_70))))); _55 = (((void*)_71)); _72 = _55; if ((_72 != ((void*)/*NULL*/0))) { goto _105; } else { goto _106; } _106: _73 = fused_setErrorMessage(0, (&_OC_str_OC_12)); goto _98; _105: _74 = _55; _75 = _52; *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_75)->field0)))) = _74; _76 = _54; _77 = _52; *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_77)->field2)))) = _76; goto _102; _102: _78 = _52; _79 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_78)->field3)))); if ((_79 != 0u)) { goto _107; } else { goto _108; } _107: _80 = _52; _81 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_80)->field1)))); if ((((int32_t)_81) > ((int32_t)0u))) { goto _109; } else { goto _108; } _109: _82 = _53; _83 = _52; _84 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_83)->field0)))); _85 = _52; _86 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_85)->field1)))); _87 = *(uint32_t*)(((&((uint32_t*)_84)[((int64_t)(((int64_t)(int32_t)(llvm_sub_u32(_86, 1)))))]))); if ((((int32_t)_82) < ((int32_t)_87))) { goto _110; } else { goto _108; } _110: _88 = _52; *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_88)->field3)))) = 0; goto _108; _108: _89 = _53; _90 = _52; _91 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_90)->field0)))); _92 = _52; _93 = ((&(((struct l_struct_struct_OC_DynamicArray*)_92)->field1))); _94 = *(uint32_t*)_93; *(uint32_t*)_93 = (llvm_add_u32(_94, 1)); *(uint32_t*)(((&((uint32_t*)_91)[((int64_t)(((int64_t)(int32_t)_94)))]))) = _89; _95 = _52; *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_95)->field4)))) = 1; goto _98; _98: return; } void* multiplyMatrices(void* _111, void* _112) { void* _113; /* Address-exposed local */ void* _114; /* Address-exposed local */ void* _115; /* Address-exposed local */ void* _116; /* Address-exposed local */ uint64_t _117; /* Address-exposed local */ uint32_t _118; /* Address-exposed local */ uint32_t _119; /* Address-exposed local */ uint64_t _120; /* Address-exposed local */ uint32_t _121; /* Address-exposed local */ uint64_t _122; /* Address-exposed local */ uint32_t _123; /* Address-exposed local */ void* _124; void* _125; uint32_t _126; void* _127; void* _128; void* _129; void* _130; uint32_t _131; void* _132; uint32_t _133; void* _134; uint32_t _135; uint32_t _136; void* _137; uint32_t _138; void* _139; uint32_t _140; uint32_t _141; void* _142; uint32_t _143; void* _144; uint32_t _145; void* _146; void* _147; uint32_t _148; void* _149; uint32_t _150; uint32_t _151; void* _152; uint32_t _153; uint32_t _154; void* _155; uint32_t _156; void* _157; void* _158; uint32_t _159; void* _160; uint32_t _161; uint32_t _162; void* _163; void* _164; uint32_t _165; void* _166; uint32_t _167; uint32_t _168; uint64_t _169; uint64_t _170; uint64_t _171; uint64_t _172; uint32_t _173; uint32_t _174; void* _175; uint32_t _176; void* _177; void* _178; uint32_t _179; void* _180; uint32_t _181; void* _182; void* _183; void* _184; uint32_t _185; uint64_t _186; void* _187; void* _188; uint32_t _189; void* _190; uint32_t _191; void* _192; void* _193; uint32_t _194; void* _195; uint32_t _196; uint32_t _197; uint32_t _198; uint64_t _199; void* _200; void* _201; uint32_t _202; void* _203; uint32_t _204; uint32_t _205; uint32_t _206; uint32_t _207; uint32_t _208; void* _209; uint32_t _210; void* _211; uint32_t _212; void* _213; void* _214; void* _215; _114 = _111; _115 = _112; _124 = _114; if ((_124 != ((void*)/*NULL*/0))) { goto _216; } else { goto _217; } _216: _125 = _115; if ((_125 != ((void*)/*NULL*/0))) { goto _218; } else { goto _217; } _217: _126 = fused_setErrorMessage(0, (&_OC_str_OC_21)); _113 = ((void*)/*NULL*/0); goto _219; _218: _127 = _114; _128 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_127)->field0)))); if ((_128 != ((void*)/*NULL*/0))) { goto _220; } else { goto _221; } _220: _129 = _115; _130 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_129)->field0)))); if ((_130 != ((void*)/*NULL*/0))) { goto _222; } else { goto _221; } _221: _131 = fused_setErrorMessage(0, (&_OC_str_OC_22)); _113 = ((void*)/*NULL*/0); goto _219; _222: _132 = _114; _133 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_132)->field2)))); _134 = _115; _135 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_134)->field1)))); if ((_133 != _135)) { goto _223; } else { goto _224; } _223: _136 = fused_setErrorMessage(0, (&_OC_str_OC_23)); _113 = ((void*)/*NULL*/0); goto _219; _224: _137 = _114; _138 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_137)->field2)))); if ((((int32_t)_138) > ((int32_t)100u))) { goto _225; } else { goto _226; } _226: _139 = _115; _140 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_139)->field1)))); if ((((int32_t)_140) > ((int32_t)100u))) { goto _225; } else { goto _227; } _225: _141 = fused_setErrorMessage(0, (&_OC_str_OC_17)); _113 = ((void*)/*NULL*/0); goto _219; _227: _142 = _114; _143 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_142)->field1)))); _144 = _115; _145 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_144)->field2)))); _146 = fused_createMatrix(0, _143, _145, ((void*)/*NULL*/0)); _116 = _146; _147 = _116; if ((_147 != ((void*)/*NULL*/0))) { goto _228; } else { goto _229; } _229: _113 = ((void*)/*NULL*/0); goto _219; _228: _117 = 0; _118 = 0; goto _230; do { /* Syntactic loop '' to make GCC happy */ _230: _148 = _118; _149 = _114; _150 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_149)->field1)))); if ((((int32_t)_148) < ((int32_t)_150))) { goto _231; } else { goto _232; } _231: _119 = 0; goto _233; do { /* Syntactic loop '' to make GCC happy */ _233: _151 = _119; _152 = _115; _153 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_152)->field2)))); if ((((int32_t)_151) < ((int32_t)_153))) { goto _234; } else { goto _235; } _234: _120 = 0; _121 = 0; goto _236; do { /* Syntactic loop '' to make GCC happy */ _236: _154 = _121; _155 = _114; _156 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_155)->field2)))); if ((((int32_t)_154) < ((int32_t)_156))) { goto _237; } else { goto _238; } _237: _157 = _114; _158 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_157)->field0)))); _159 = _118; _160 = *(void**)(((&((void**)_158)[((int64_t)(((int64_t)(int32_t)_159)))]))); _161 = _121; _162 = *(uint32_t*)(((&((uint32_t*)_160)[((int64_t)(((int64_t)(int32_t)_161)))]))); _163 = _115; _164 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_163)->field0)))); _165 = _121; _166 = *(void**)(((&((void**)_164)[((int64_t)(((int64_t)(int32_t)_165)))]))); _167 = _119; _168 = *(uint32_t*)(((&((uint32_t*)_166)[((int64_t)(((int64_t)(int32_t)_167)))]))); _122 = (llvm_mul_u64((((int64_t)(int32_t)_162)), (((int64_t)(int32_t)_168)))); _169 = _122; _170 = _120; _120 = (llvm_add_u64(_170, _169)); _171 = _120; if ((((int64_t)_171) > ((int64_t)UINT64_C(2147483647)))) { goto _239; } else { goto _240; } _240: _172 = _120; if ((((int64_t)_172) < ((int64_t)UINT64_C(18446744071562067968)))) { goto _239; } else { goto _241; } _241: goto _242; _242: _185 = _121; _121 = (llvm_add_u32(_185, 1)); goto _236; } while (1); /* end of syntactic loop '' */ _238: _186 = _120; _187 = _116; _188 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_187)->field0)))); _189 = _118; _190 = *(void**)(((&((void**)_188)[((int64_t)(((int64_t)(int32_t)_189)))]))); _191 = _119; *(uint32_t*)(((&((uint32_t*)_190)[((int64_t)(((int64_t)(int32_t)_191)))]))) = (((uint32_t)_186)); _192 = _116; _193 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_192)->field0)))); _194 = _118; _195 = *(void**)(((&((void**)_193)[((int64_t)(((int64_t)(int32_t)_194)))]))); _196 = _119; _197 = *(uint32_t*)(((&((uint32_t*)_195)[((int64_t)(((int64_t)(int32_t)_196)))]))); _198 = abs(_197); _199 = _117; if ((((int64_t)(((int64_t)(int32_t)_198))) > ((int64_t)_199))) { goto _243; } else { goto _244; } _243: _200 = _116; _201 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_200)->field0)))); _202 = _118; _203 = *(void**)(((&((void**)_201)[((int64_t)(((int64_t)(int32_t)_202)))]))); _204 = _119; _205 = *(uint32_t*)(((&((uint32_t*)_203)[((int64_t)(((int64_t)(int32_t)_204)))]))); _206 = abs(_205); _117 = (((int64_t)(int32_t)_206)); goto _244; _244: goto _245; _245: _207 = _119; _119 = (llvm_add_u32(_207, 1)); goto _233; } while (1); /* end of syntactic loop '' */ _235: goto _246; _246: _208 = _118; _118 = (llvm_add_u32(_208, 1)); goto _230; } while (1); /* end of syntactic loop '' */ _239: _173 = fused_setErrorMessage(0, (&_OC_str_OC_24)); _123 = 0; goto _247; do { /* Syntactic loop '' to make GCC happy */ _247: _174 = _123; _175 = _116; _176 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_175)->field1)))); if ((((int32_t)_174) < ((int32_t)_176))) { goto _248; } else { goto _249; } _248: _177 = _116; _178 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_177)->field0)))); _179 = _123; _180 = *(void**)(((&((void**)_178)[((int64_t)(((int64_t)(int32_t)_179)))]))); free((((void*)_180))); goto _250; _250: _181 = _123; _123 = (llvm_add_u32(_181, 1)); goto _247; } while (1); /* end of syntactic loop '' */ _249: _182 = _116; _183 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_182)->field0)))); free((((void*)_183))); _184 = _116; free((((void*)_184))); _113 = ((void*)/*NULL*/0); goto _219; _232: _209 = _116; _210 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_209)->field1)))); _211 = _116; _212 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_211)->field2)))); _213 = _116; *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_213)->field3)))) = (((uint32_t)(bool)(_210 == _212))); _214 = _116; _113 = _214; goto _219; _219: _215 = _113; return _215; } void* insertNode(void* _251, uint32_t _252) { void* _253; /* Address-exposed local */ void* _254; /* Address-exposed local */ uint32_t _255; /* Address-exposed local */ void* _256; /* Address-exposed local */ void* _257; /* Address-exposed local */ void* _258; /* Address-exposed local */ uint32_t _259; /* Address-exposed local */ void* _260; void* _261; uint32_t _262; void* _263; uint32_t _264; void* _265; void* _266; void* _267; void* _268; void* _269; void* _270; void* _271; void* _272; void* _273; void* _274; uint32_t _275; uint32_t _276; bool _277; bool _277__PHI_TEMPORARY; void* _278; void* _279; void* _280; uint32_t _281; uint32_t _282; uint32_t _283; void* _284; void* _285; uint32_t _286; uint32_t _287; uint32_t _288; uint32_t _289; void* _290; void* _291; void* _292; void* _293; void* _294; void* _295; void* _296; void* _297; void* _298; void* _299; void* _300; void* _301; void* _302; void* _303; _254 = _251; _255 = _252; _260 = malloc(32); _256 = (((void*)_260)); _261 = _256; if ((_261 != ((void*)/*NULL*/0))) { goto _304; } else { goto _305; } _305: _262 = fused_setErrorMessage(0, (&_OC_str_OC_25)); _263 = _254; _253 = _263; goto _306; _304: _264 = _255; _265 = _256; *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_265)->field0)))) = _264; _266 = _256; *(void**)(((&(((struct l_struct_struct_OC_Node*)_266)->field1)))) = ((void*)/*NULL*/0); _267 = _256; *(void**)(((&(((struct l_struct_struct_OC_Node*)_267)->field2)))) = ((void*)/*NULL*/0); _268 = _256; *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_268)->field3)))) = 0; _269 = _254; if ((_269 != ((void*)/*NULL*/0))) { goto _307; } else { goto _308; } _308: _270 = _256; *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_270)->field4)))) = 0; insertNode_OC_maxDepth = 0; _271 = _256; _253 = _271; goto _306; _307: _272 = _254; _257 = _272; _258 = ((void*)/*NULL*/0); _259 = 0; goto _309; do { /* Syntactic loop '' to make GCC happy */ _309: _273 = _257; if ((_273 != ((void*)/*NULL*/0))) { goto _310; } else { _277__PHI_TEMPORARY = 0; /* for PHI node */ goto _311; } _310: _274 = _257; _275 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_274)->field0)))); _276 = _255; _277__PHI_TEMPORARY = (((int32_t)_275) < ((int32_t)_276)); /* for PHI node */ goto _311; _311: _277 = _277__PHI_TEMPORARY; if (_277) { goto _312; } else { goto _313; } _312: _278 = _257; _258 = _278; _279 = _257; _280 = *(void**)(((&(((struct l_struct_struct_OC_Node*)_279)->field1)))); _257 = _280; _281 = _259; _259 = (llvm_add_u32(_281, 1)); _282 = _259; if ((((int32_t)_282) > ((int32_t)1000u))) { goto _314; } else { goto _315; } _315: goto _309; } while (1); /* end of syntactic loop '' */ _314: _283 = fused_setErrorMessage(0, (&_OC_str_OC_26)); _284 = _256; free((((void*)_284))); _285 = _254; _253 = _285; goto _306; _313: _286 = _259; _287 = insertNode_OC_maxDepth; if ((((int32_t)_286) > ((int32_t)_287))) { goto _316; } else { goto _317; } _316: _288 = _259; insertNode_OC_maxDepth = _288; goto _317; _317: _289 = _259; _290 = _256; *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_290)->field4)))) = _289; _291 = _257; _292 = _256; *(void**)(((&(((struct l_struct_struct_OC_Node*)_292)->field1)))) = _291; _293 = _258; if ((_293 != ((void*)/*NULL*/0))) { goto _318; } else { goto _319; } _318: _294 = _256; _295 = _258; *(void**)(((&(((struct l_struct_struct_OC_Node*)_295)->field1)))) = _294; _296 = _258; _297 = _256; *(void**)(((&(((struct l_struct_struct_OC_Node*)_297)->field2)))) = _296; goto _320; _319: _298 = _256; _253 = _298; goto _306; _320: _299 = _257; if ((_299 != ((void*)/*NULL*/0))) { goto _321; } else { goto _322; } _321: _300 = _256; _301 = _257; *(void**)(((&(((struct l_struct_struct_OC_Node*)_301)->field2)))) = _300; goto _322; _322: _302 = _254; _253 = _302; goto _306; _306: _303 = _253; return _303; } static const ConstantDoubleTy FPConstant1 = 0x7FF0000000000000ULL; /* INF */ double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) { double _326; /* Address-exposed local */ void* _327; /* Address-exposed local */ double _328; /* Address-exposed local */ double _329; /* Address-exposed local */ double _330; /* Address-exposed local */ void* _331; double _332; double _333; void* _334; uint32_t _335; uint32_t _336; uint32_t _337; uint32_t _338; uint32_t _339; uint32_t _340; uint32_t _341; uint32_t _342; uint32_t _343; void* _344; uint32_t _345; uint32_t _346; uint32_t _347; double _348; double _349; double _350; uint32_t _351; uint32_t _352; double _353; double _354; double _355; double _356; double _357; double _358; double _359; void* _360; uint32_t _361; double _362; double _363; double _364; double _365; double _366; double _367; double _368; double _369; llvmBitCastUnion _370__BITCAST_TEMPORARY; void* _371; uint32_t _372; double _373; double _374; _327 = _325; _331 = _327; *(uint32_t*)_331 = 0; _332 = *(double*)(((&(&_323)->field3))); if ((llvm_fcmp_ole(_332, 0))) { goto _375; } else { goto _376; } _376: _333 = *(double*)(((&(&_324)->field3))); if ((llvm_fcmp_ole(_333, 0))) { goto _375; } else { goto _377; } _375: _334 = _327; *(uint32_t*)_334 = 1; _335 = fused_setErrorMessage(0, (&_OC_str_OC_32)); _326 = -1; goto _378; _377: _336 = *(uint32_t*)(((&(&_323)->field0))); _337 = abs(_336); if ((((int32_t)_337) > ((int32_t)1000u))) { goto _379; } else { goto _380; } _380: _338 = *(uint32_t*)(((&(&_323)->field1))); _339 = abs(_338); if ((((int32_t)_339) > ((int32_t)1000u))) { goto _379; } else { goto _381; } _381: _340 = *(uint32_t*)(((&(&_324)->field0))); _341 = abs(_340); if ((((int32_t)_341) > ((int32_t)1000u))) { goto _379; } else { goto _382; } _382: _342 = *(uint32_t*)(((&(&_324)->field1))); _343 = abs(_342); if ((((int32_t)_343) > ((int32_t)1000u))) { goto _379; } else { goto _383; } _379: _344 = _327; *(uint32_t*)_344 = 3; _345 = fused_setErrorMessage(0, (&_OC_str_OC_33)); _326 = -1; goto _378; _383: _346 = *(uint32_t*)(((&(&_324)->field0))); _347 = *(uint32_t*)(((&(&_323)->field0))); _348 = *(double*)(((&(&_324)->field3))); _349 = *(double*)(((&(&_323)->field3))); _350 = sqrt((_348 / _349)); _328 = ((((double)(int32_t)(llvm_sub_u32(_346, _347)))) * _350); _351 = *(uint32_t*)(((&(&_324)->field1))); _352 = *(uint32_t*)(((&(&_323)->field1))); _353 = *(double*)(((&(&_324)->field3))); _354 = *(double*)(((&(&_323)->field3))); _355 = sqrt((_353 / _354)); _329 = ((((double)(int32_t)(llvm_sub_u32(_351, _352)))) * _355); _356 = _328; _357 = llvm_OC_fabs_OC_f64(_356); if ((llvm_fcmp_ogt(_357, 1000))) { goto _384; } else { goto _385; } _385: _358 = _329; _359 = llvm_OC_fabs_OC_f64(_358); if ((llvm_fcmp_ogt(_359, 1000))) { goto _384; } else { goto _386; } _384: _360 = _327; *(uint32_t*)_360 = 5; _361 = fused_setErrorMessage(0, (&_OC_str_OC_34)); _326 = -1; goto _378; _386: _362 = _328; _363 = _328; _364 = _329; _365 = _329; _366 = sqrt(((_362 * _363) + (_364 * _365))); _330 = _366; _367 = _330; if ((llvm_fcmp_uno(_367, _367))) { goto _387; } else { goto _388; } _388: _368 = _330; _369 = llvm_OC_fabs_OC_f64(_368); if (((llvm_select_u32((llvm_fcmp_oeq(_369, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_370__BITCAST_TEMPORARY.Double = _368, _370__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) { goto _387; } else { goto _389; } _387: _371 = _327; *(uint32_t*)_371 = 8; _372 = fused_setErrorMessage(0, (&_OC_str_OC_35)); _326 = -1; goto _378; _389: _373 = _330; _326 = _373; goto _378; _378: _374 = _326; return _374; } double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) { double _392; /* Address-exposed local */ void* _393; /* Address-exposed local */ double _394; /* Address-exposed local */ void* _395; uint32_t _396; void* _397; uint32_t _398; double _399; void* _400; uint32_t _401; double _402; void* _403; uint32_t _404; uint32_t _405; uint32_t _406; uint32_t _407; uint32_t _408; void* _409; uint32_t _410; double _411; double _412; double _413; double _414; double _415; llvmBitCastUnion _416__BITCAST_TEMPORARY; void* _417; uint32_t _418; uint32_t _419; double _420; uint32_t _421; double _422; void* _423; uint32_t _424; double _425; double _426; void* _427; uint32_t _428; double _429; _393 = _391; _395 = _393; *(uint32_t*)_395 = 0; _396 = *(uint32_t*)(((&(&_390)->field2))); if ((_396 != 0u)) { goto _430; } else { goto _431; } _431: _397 = _393; *(uint32_t*)_397 = 1; _398 = fused_setErrorMessage(0, (&_OC_str_OC_36)); _392 = -1; goto _432; _430: _399 = *(double*)(((&(&_390)->field1))); if ((llvm_fcmp_ole(_399, 0))) { goto _433; } else { goto _434; } _433: _400 = _393; *(uint32_t*)_400 = 1; _401 = fused_setErrorMessage(0, (&_OC_str_OC_37)); _392 = -1; goto _432; _434: _402 = *(double*)(((&(&_390)->field1))); if ((llvm_fcmp_ogt(_402, 1000))) { goto _435; } else { goto _436; } _435: _403 = _393; *(uint32_t*)_403 = 3; _404 = fused_setErrorMessage(0, (&_OC_str_OC_38)); _392 = -1; goto _432; _436: _405 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field0)))); _406 = abs(_405); if ((((int32_t)_406) > ((int32_t)1000u))) { goto _437; } else { goto _438; } _438: _407 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field1)))); _408 = abs(_407); if ((((int32_t)_408) > ((int32_t)1000u))) { goto _437; } else { goto _439; } _437: _409 = _393; *(uint32_t*)_409 = 3; _410 = fused_setErrorMessage(0, (&_OC_str_OC_39)); _392 = -1; goto _432; _439: _411 = *(double*)(((&(&_390)->field1))); _412 = *(double*)(((&(&_390)->field1))); _394 = ((3.1415899999999999 * _411) * _412); _413 = _394; if ((llvm_fcmp_uno(_413, _413))) { goto _440; } else { goto _441; } _441: _414 = _394; _415 = llvm_OC_fabs_OC_f64(_414); if (((llvm_select_u32((llvm_fcmp_oeq(_415, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_416__BITCAST_TEMPORARY.Double = _414, _416__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) { goto _440; } else { goto _442; } _440: _417 = _393; *(uint32_t*)_417 = 5; _418 = fused_setErrorMessage(0, (&_OC_str_OC_40)); _392 = -1; goto _432; _442: _419 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_41)); if ((_419 == 0u)) { goto _443; } else { goto _444; } _443: _420 = _394; _392 = _420; goto _432; _444: _421 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_42)); if ((_421 == 0u)) { goto _445; } else { goto _446; } _445: _422 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3)))); if ((llvm_fcmp_ole(_422, 0))) { goto _447; } else { goto _448; } _447: _423 = _393; *(uint32_t*)_423 = 1; _424 = fused_setErrorMessage(0, (&_OC_str_OC_43)); _392 = -1; goto _432; _448: _425 = _394; _426 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3)))); _392 = (_425 * _426); goto _432; _446: _427 = _393; *(uint32_t*)_427 = 1; _428 = fused_setErrorMessage(0, (&_OC_str_OC_44)); _392 = -1; goto _432; _432: _429 = _392; return _429; } uint32_t validateMatrix(void* _449) { uint32_t _450; /* Address-exposed local */ void* _451; /* Address-exposed local */ uint32_t _452; /* Address-exposed local */ void* _453; uint32_t _454; void* _455; void* _456; uint32_t _457; void* _458; uint32_t _459; void* _460; uint32_t _461; uint32_t _462; void* _463; uint32_t _464; void* _465; uint32_t _466; uint32_t _467; uint32_t _468; void* _469; uint32_t _470; void* _471; void* _472; uint32_t _473; void* _474; uint32_t _475; uint32_t _476; void* _477; uint32_t _478; void* _479; uint32_t _480; void* _481; uint32_t _482; uint32_t _483; uint32_t _484; _451 = _449; _453 = _451; if ((_453 != ((void*)/*NULL*/0))) { goto _485; } else { goto _486; } _486: _454 = fused_setErrorMessage(0, (&_OC_str_OC_21)); _450 = 7; goto _487; _485: _455 = _451; _456 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_455)->field0)))); if ((_456 != ((void*)/*NULL*/0))) { goto _488; } else { goto _489; } _489: _457 = fused_setErrorMessage(0, (&_OC_str_OC_45)); _450 = 7; goto _487; _488: _458 = _451; _459 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_458)->field1)))); if ((((int32_t)_459) < ((int32_t)1u))) { goto _490; } else { goto _491; } _491: _460 = _451; _461 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_460)->field2)))); if ((((int32_t)_461) < ((int32_t)1u))) { goto _490; } else { goto _492; } _490: _462 = fused_setErrorMessage(0, (&_OC_str_OC_16)); _450 = 1; goto _487; _492: _463 = _451; _464 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_463)->field1)))); if ((((int32_t)_464) > ((int32_t)100u))) { goto _493; } else { goto _494; } _494: _465 = _451; _466 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_465)->field2)))); if ((((int32_t)_466) > ((int32_t)100u))) { goto _493; } else { goto _495; } _493: _467 = fused_setErrorMessage(0, (&_OC_str_OC_46)); _450 = 3; goto _487; _495: _452 = 0; goto _496; do { /* Syntactic loop '' to make GCC happy */ _496: _468 = _452; _469 = _451; _470 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_469)->field1)))); if ((((int32_t)_468) < ((int32_t)_470))) { goto _497; } else { goto _498; } _497: _471 = _451; _472 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_471)->field0)))); _473 = _452; _474 = *(void**)(((&((void**)_472)[((int64_t)(((int64_t)(int32_t)_473)))]))); if ((_474 != ((void*)/*NULL*/0))) { goto _499; } else { goto _500; } _499: goto _501; _501: _476 = _452; _452 = (llvm_add_u32(_476, 1)); goto _496; } while (1); /* end of syntactic loop '' */ _500: _475 = fused_setErrorMessage(0, (&_OC_str_OC_47)); _450 = 7; goto _487; _498: _477 = _451; _478 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_477)->field1)))); _479 = _451; _480 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_479)->field2)))); _481 = _451; _482 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_481)->field3)))); if (((((uint32_t)(bool)(_478 == _480))) != _482)) { goto _502; } else { goto _503; } _502: _483 = fused_setErrorMessage(0, (&_OC_str_OC_48)); _450 = 1; goto _487; _503: _450 = 0; goto _487; _487: _484 = _450; return _484; } void* findCentroid(void* _504, uint32_t _505, void* _506) { void* _507; /* Address-exposed local */ void* _508; /* Address-exposed local */ uint32_t _509; /* Address-exposed local */ void* _510; /* Address-exposed local */ void* _511; /* Address-exposed local */ double _512; /* Address-exposed local */ double _513; /* Address-exposed local */ double _514; /* Address-exposed local */ uint32_t _515; /* Address-exposed local */ void* _516; void* _517; uint32_t _518; void* _519; uint32_t _520; uint32_t _521; void* _522; uint32_t _523; void* _524; void* _525; void* _526; uint32_t _527; uint32_t _528; uint32_t _529; void* _530; uint32_t _531; double _532; void* _533; uint32_t _534; void* _535; void* _536; uint32_t _537; double _538; double _539; void* _540; uint32_t _541; uint32_t _542; void* _543; uint32_t _544; double _545; double _546; void* _547; uint32_t _548; uint32_t _549; void* _550; uint32_t _551; double _552; double _553; double _554; double _555; double _556; double _557; double _558; llvmBitCastUnion _559__BITCAST_TEMPORARY; double _560; double _561; llvmBitCastUnion _562__BITCAST_TEMPORARY; double _563; double _564; llvmBitCastUnion _565__BITCAST_TEMPORARY; void* _566; uint32_t _567; void* _568; uint32_t _569; double _570; void* _571; uint32_t _572; void* _573; double _574; double _575; void* _576; double _577; double _578; void* _579; double _580; uint32_t _581; void* _582; void* _583; void* _584; void* _585; void* _586; _508 = _504; _509 = _505; _510 = _506; _516 = _510; *(uint32_t*)_516 = 0; _517 = _508; if ((_517 != ((void*)/*NULL*/0))) { goto _587; } else { goto _588; } _587: _518 = _509; if ((((int32_t)_518) <= ((int32_t)0u))) { goto _588; } else { goto _589; } _588: _519 = _510; *(uint32_t*)_519 = 1; _520 = fused_setErrorMessage(0, (&_OC_str_OC_50)); _507 = ((void*)/*NULL*/0); goto _590; _589: _521 = _509; if ((((int32_t)_521) > ((int32_t)1000u))) { goto _591; } else { goto _592; } _591: _522 = _510; *(uint32_t*)_522 = 3; _523 = fused_setErrorMessage(0, (&_OC_str_OC_51)); _507 = ((void*)/*NULL*/0); goto _590; _592: _524 = malloc(272); _511 = (((void*)_524)); _525 = _511; if ((_525 != ((void*)/*NULL*/0))) { goto _593; } else { goto _594; } _594: _526 = _510; *(uint32_t*)_526 = 2; _527 = fused_setErrorMessage(0, (&_OC_str_OC_52)); _507 = ((void*)/*NULL*/0); goto _590; _593: _512 = 0; _513 = 0; _514 = 0; _515 = 0; goto _595; do { /* Syntactic loop '' to make GCC happy */ _595: _528 = _515; _529 = _509; if ((((int32_t)_528) < ((int32_t)_529))) { goto _596; } else { goto _597; } _596: _530 = _508; _531 = _515; _532 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_530)[((int64_t)(((int64_t)(int32_t)_531)))]))))->field3)))); if ((llvm_fcmp_ole(_532, 0))) { goto _598; } else { goto _599; } _599: _536 = _508; _537 = _515; _538 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_536)[((int64_t)(((int64_t)(int32_t)_537)))]))))->field3)))); _539 = _512; _512 = (_539 + _538); _540 = _508; _541 = _515; _542 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_540)[((int64_t)(((int64_t)(int32_t)_541)))]))))->field0)))); _543 = _508; _544 = _515; _545 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_543)[((int64_t)(((int64_t)(int32_t)_544)))]))))->field3)))); _546 = _513; _513 = (_546 + ((((double)(int32_t)_542)) * _545)); _547 = _508; _548 = _515; _549 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_547)[((int64_t)(((int64_t)(int32_t)_548)))]))))->field1)))); _550 = _508; _551 = _515; _552 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_550)[((int64_t)(((int64_t)(int32_t)_551)))]))))->field3)))); _553 = _514; _514 = (_553 + ((((double)(int32_t)_549)) * _552)); _554 = _512; if ((llvm_fcmp_uno(_554, _554))) { goto _600; } else { goto _601; } _601: _555 = _513; if ((llvm_fcmp_uno(_555, _555))) { goto _600; } else { goto _602; } _602: _556 = _514; if ((llvm_fcmp_uno(_556, _556))) { goto _600; } else { goto _603; } _603: _557 = _512; _558 = llvm_OC_fabs_OC_f64(_557); if (((llvm_select_u32((llvm_fcmp_oeq(_558, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_559__BITCAST_TEMPORARY.Double = _557, _559__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) { goto _600; } else { goto _604; } _604: _560 = _513; _561 = llvm_OC_fabs_OC_f64(_560); if (((llvm_select_u32((llvm_fcmp_oeq(_561, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_562__BITCAST_TEMPORARY.Double = _560, _562__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) { goto _600; } else { goto _605; } _605: _563 = _514; _564 = llvm_OC_fabs_OC_f64(_563); if (((llvm_select_u32((llvm_fcmp_oeq(_564, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_565__BITCAST_TEMPORARY.Double = _563, _565__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) { goto _600; } else { goto _606; } _606: goto _607; _607: _569 = _515; _515 = (llvm_add_u32(_569, 1)); goto _595; } while (1); /* end of syntactic loop '' */ _598: _533 = _510; *(uint32_t*)_533 = 1; _534 = fused_setErrorMessage(0, (&_OC_str_OC_53)); _535 = _511; free((((void*)_535))); _507 = ((void*)/*NULL*/0); goto _590; _600: _566 = _510; *(uint32_t*)_566 = 5; _567 = fused_setErrorMessage(0, (&_OC_str_OC_54)); _568 = _511; free((((void*)_568))); _507 = ((void*)/*NULL*/0); goto _590; _597: _570 = _512; if ((llvm_fcmp_oeq(_570, 0))) { goto _608; } else { goto _609; } _608: _571 = _510; *(uint32_t*)_571 = 1; _572 = fused_setErrorMessage(0, (&_OC_str_OC_55)); _573 = _511; free((((void*)_573))); _507 = ((void*)/*NULL*/0); goto _590; _609: _574 = _513; _575 = _512; _576 = _511; *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_576)->field0)))) = (((int32_t)(_574 / _575))); _577 = _514; _578 = _512; _579 = _511; *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_579)->field1)))) = (((int32_t)(_577 / _578))); _580 = _512; _581 = _509; _582 = _511; *(double*)(((&(((struct l_struct_struct_OC_Point*)_582)->field3)))) = (_580 / (((double)(int32_t)_581))); _583 = _511; _584 = strcpy((((&((struct l_array_256_uint8_t*)(((&(((struct l_struct_struct_OC_Point*)_583)->field2)))))->array[((int64_t)0)]))), (&_OC_str_OC_56)); _585 = _511; _507 = _585; goto _590; _590: _586 = _507; return _586; }