extern void *malloc(long unsigned int __size);
extern void free(void *__ptr);
extern void abort(void);
extern int atexit(void (*__func)(void));
extern void exit(int __status);
extern int printf(const char *__restrict __format, ...);
__extension__ int __a__i_1;
__extension__ int __b__i_1;
__extension__ int __c__i_1;
__extension__ struct S {
    __extension__ int __a__i_1;
    __extension__ int __b__i_1;
    __extension__ int __c__i_1;
};
static inline struct S ___operator_assign__F2sS_P2sS2sS_autogen___1(struct S *___dst__P2sS_1, struct S ___src__2sS_1){
    ((void)((*___dst__P2sS_1).__a__i_1=___src__2sS_1.__a__i_1));
    ((void)((*___dst__P2sS_1).__b__i_1=___src__2sS_1.__b__i_1));
    ((void)((*___dst__P2sS_1).__c__i_1=___src__2sS_1.__c__i_1));
    return ((struct S )___src__2sS_1);
}
static inline void ___constructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
    ((void)((*___dst__P2sS_1).__a__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
}
static inline void ___constructor__F_P2sS2sS_autogen___1(struct S *___dst__P2sS_1, struct S ___src__2sS_1){
    ((void)((*___dst__P2sS_1).__a__i_1=___src__2sS_1.__a__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1=___src__2sS_1.__b__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__c__i_1=___src__2sS_1.__c__i_1) /* ?{} */);
}
static inline void ___destructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
    ((void)((*___dst__P2sS_1).__c__i_1) /* ^?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1) /* ^?{} */);
    ((void)((*___dst__P2sS_1).__a__i_1) /* ^?{} */);
}
static inline void ___constructor__F_P2sSi_autogen___1(struct S *___dst__P2sS_1, int __a__i_1){
    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
}
static inline void ___constructor__F_P2sSii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1){
    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1=__b__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
}
static inline void ___constructor__F_P2sSiii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1, int __c__i_1){
    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__b__i_1=__b__i_1) /* ?{} */);
    ((void)((*___dst__P2sS_1).__c__i_1=__c__i_1) /* ?{} */);
}
__extension__ union U {
    __extension__ int __a__i_1;
    __extension__ int __b__i_1;
    __extension__ int __c__i_1;
};
static inline union U ___operator_assign__F2uU_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){
    void *_tmp_cp_ret0;
    ((void)((_tmp_cp_ret0=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret0));
    ((void)(_tmp_cp_ret0) /* ^?{} */);
    return ((union U )___src__2uU_1);
}
static inline void ___constructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){
}
static inline void ___constructor__F_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){
    void *_tmp_cp_ret1;
    ((void)((_tmp_cp_ret1=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret1));
    ((void)(_tmp_cp_ret1) /* ^?{} */);
    return ((void)___src__2uU_1);
}
static inline void ___destructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){
}
__extension__ enum E {
    __R__C2eE_1,
    __G__C2eE_1,
    __B__C2eE_1,
};
__extension__ int __fred__Fi_i__1(int __p__i_1){
    __extension__ struct S {
        __extension__ int __a__i_2;
        __extension__ int __b__i_2;
        __extension__ int __c__i_2;
    };
    int __i__i_2;
    ((void)((*((int *)(&__i__i_2)))=(__extension__ __a__i_1+__extension__ 3)) /* ?{} */);
    ((void)__extension__ 3);
    ((void)__extension__ __a__i_1);
    __extension__ int __a__i_2;
    __extension__ int __b__i_2;
    __extension__ int __c__i_2;
    ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2)));
    int _tmp_cp_ret2;
    ((void)((_tmp_cp_ret2=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret2));
    ((void)(_tmp_cp_ret2) /* ^?{} */);
    ((void)__extension__ sizeof(3));
    ((void)__extension__ (((int )(3!=0)) || ((int )(4!=0))));
    ((void)__extension__ __alignof__(__extension__ __a__i_2));
    ((void)(((int )(__extension__ __a__i_2!=0)) || ((int )((((int )(__extension__ __b__i_2!=0)) && ((int )(__extension__ __c__i_2!=0)))!=0))));
    ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=0)) ? __extension__ __c__i_2 : __extension__ __c__i_2));
    ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2)));
    ((void)((__extension__ __a__i_2 , __extension__ __b__i_2) , __extension__ __c__i_2));
}
__attribute__ ((constructor(),)) static void _init_extension(void){
    int _global_init0;
    ((void)((*((int *)(&__a__i_1)))=_global_init0) /* ?{} */);
    int _global_init1;
    ((void)((*((int *)(&__b__i_1)))=_global_init1) /* ?{} */);
    int _global_init2;
    ((void)((*((int *)(&__c__i_1)))=_global_init2) /* ?{} */);
}
__attribute__ ((destructor(),)) static void _destroy_extension(void){
    ((void)((*((int *)(&__c__i_1)))) /* ^?{} */);
    ((void)((*((int *)(&__b__i_1)))) /* ^?{} */);
    ((void)((*((int *)(&__a__i_1)))) /* ^?{} */);
}
