extern void *malloc(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)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
    ((void)((*((int *)(&(*___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)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=___src__2sS_1.__a__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=___src__2sS_1.__b__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___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)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ^?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ^?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ^?{} */);
}
static inline void ___constructor__F_P2sSi_autogen___1(struct S *___dst__P2sS_1, int __a__i_1){
    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
    ((void)((*((int *)(&(*___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)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___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)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
    ((void)((*((int *)(&(*___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){
}
static inline void ___constructor__F_P2uUi_autogen___1(union U *___dst__P2uU_1, int __src__i_1){
    void *_tmp_cp_ret2;
    ((void)((_tmp_cp_ret2=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&__src__i_1)), sizeof(int ))) , _tmp_cp_ret2));
    ((void)(_tmp_cp_ret2) /* ^?{} */);
}
__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 = ((int )(__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_ret3;
    ((void)((_tmp_cp_ret3=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret3));
    ((void)(_tmp_cp_ret3) /* ^?{} */);
    ((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));
}
