#include<bits/stdc++.h> 

//头文件

using namespace std;

//函数(可有可无)

//创建变量

int main(){

  //主代码
  
	return 0;
}

6 条评论

  • @ 2025-1-16 21:42:45
    #include<set>
    // <set> -*- C++ -*-
    
    // Copyright (C) 2001-2014 Free Software Foundation, Inc.
    //
    // This file is part of the GNU ISO C++ Library.  This library is free
    // software; you can redistribute it and/or modify it under the
    // terms of the GNU General Public License as published by the
    // Free Software Foundation; either version 3, or (at your option)
    // any later version.
    
    // This library is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    
    // Under Section 7 of GPL version 3, you are granted additional
    // permissions described in the GCC Runtime Library Exception, version
    // 3.1, as published by the Free Software Foundation.
    
    // You should have received a copy of the GNU General Public License and
    // a copy of the GCC Runtime Library Exception along with this program;
    // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    // <http://www.gnu.org/licenses/>.
    
    /*
     *
     * Copyright (c) 1994
     * Hewlett-Packard Company
     *
     * Permission to use, copy, modify, distribute and sell this software
     * and its documentation for any purpose is hereby granted without fee,
     * provided that the above copyright notice appear in all copies and
     * that both that copyright notice and this permission notice appear
     * in supporting documentation.  Hewlett-Packard Company makes no
     * representations about the suitability of this software for any
     * purpose.  It is provided "as is" without express or implied warranty.
     *
     *
     * Copyright (c) 1996,1997
     * Silicon Graphics Computer Systems, Inc.
     *
     * Permission to use, copy, modify, distribute and sell this software
     * and its documentation for any purpose is hereby granted without fee,
     * provided that the above copyright notice appear in all copies and
     * that both that copyright notice and this permission notice appear
     * in supporting documentation.  Silicon Graphics makes no
     * representations about the suitability of this software for any
     * purpose.  It is provided "as is" without express or implied warranty.
     */
    
    /** @file include/set
     *  This is a Standard C++ Library header.
     */
    
    #ifndef _GLIBCXX_SET
    #define _GLIBCXX_SET 1
    
    #pragma GCC system_header
    
    #include <bits/stl_tree.h>
    #include <bits/stl_set.h>
    #include <bits/stl_multiset.h>
    #include <bits/range_access.h>
    
    #ifdef _GLIBCXX_DEBUG
    # include <debug/set>
    #endif
    
    #ifdef _GLIBCXX_PROFILE
    # include <profile/set>
    #endif
    
    #endif /* _GLIBCXX_SET */
    
    • @ 2025-1-16 21:40:38

      ku5

      // <stack> -*- C++ -*-
      
      // Copyright (C) 2001-2014 Free Software Foundation, Inc.
      //
      // This file is part of the GNU ISO C++ Library.  This library is free
      // software; you can redistribute it and/or modify it under the
      // terms of the GNU General Public License as published by the
      // Free Software Foundation; either version 3, or (at your option)
      // any later version.
      
      // This library is distributed in the hope that it will be useful,
      // but WITHOUT ANY WARRANTY; without even the implied warranty of
      // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      // GNU General Public License for more details.
      
      // Under Section 7 of GPL version 3, you are granted additional
      // permissions described in the GCC Runtime Library Exception, version
      // 3.1, as published by the Free Software Foundation.
      
      // You should have received a copy of the GNU General Public License and
      // a copy of the GCC Runtime Library Exception along with this program;
      // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
      // <http://www.gnu.org/licenses/>.
      
      /*
       *
       * Copyright (c) 1994
       * Hewlett-Packard Company
       *
       * Permission to use, copy, modify, distribute and sell this software
       * and its documentation for any purpose is hereby granted without fee,
       * provided that the above copyright notice appear in all copies and
       * that both that copyright notice and this permission notice appear
       * in supporting documentation.  Hewlett-Packard Company makes no
       * representations about the suitability of this software for any
       * purpose.  It is provided "as is" without express or implied warranty.
       *
       *
       * Copyright (c) 1996,1997
       * Silicon Graphics Computer Systems, Inc.
       *
       * Permission to use, copy, modify, distribute and sell this software
       * and its documentation for any purpose is hereby granted without fee,
       * provided that the above copyright notice appear in all copies and
       * that both that copyright notice and this permission notice appear
       * in supporting documentation.  Silicon Graphics makes no
       * representations about the suitability of this software for any
       * purpose.  It is provided "as is" without express or implied warranty.
       */
      
      /** @file include/stack
       *  This is a Standard C++ Library header.
       */
      
      #ifndef _GLIBCXX_STACK
      #define _GLIBCXX_STACK 1
      
      #pragma GCC system_header
      
      #include <deque>
      #include <bits/stl_stack.h>
      
      #endif /* _GLIBCXX_STACK */
      
      • @ 2025-1-16 21:39:13

        ku4

        #include<cmath>
        // -*- C++ -*- C forwarding header.
        
        // Copyright (C) 1997-2014 Free Software Foundation, Inc.
        //
        // This file is part of the GNU ISO C++ Library.  This library is free
        // software; you can redistribute it and/or modify it under the
        // terms of the GNU General Public License as published by the
        // Free Software Foundation; either version 3, or (at your option)
        // any later version.
        
        // This library is distributed in the hope that it will be useful,
        // but WITHOUT ANY WARRANTY; without even the implied warranty of
        // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        // GNU General Public License for more details.
        
        // Under Section 7 of GPL version 3, you are granted additional
        // permissions described in the GCC Runtime Library Exception, version
        // 3.1, as published by the Free Software Foundation.
        
        // You should have received a copy of the GNU General Public License and
        // a copy of the GCC Runtime Library Exception along with this program;
        // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
        // <http://www.gnu.org/licenses/>.
        
        /** @file include/cmath
         *  This is a Standard C++ Library file.  You should @c \#include this file
         *  in your programs, rather than any of the @a *.h implementation files.
         *
         *  This is the C++ version of the Standard C Library header @c math.h,
         *  and its contents are (mostly) the same as that header, but are all
         *  contained in the namespace @c std (except for names which are defined
         *  as macros in C).
         */
        
        //
        // ISO C++ 14882: 26.5  C library
        //
        
        #pragma GCC system_header
        
        #include <bits/c++config.h>
        #include <bits/cpp_type_traits.h>
        #include <ext/type_traits.h>
        #include <math.h>
        
        #ifndef _GLIBCXX_CMATH
        #define _GLIBCXX_CMATH 1
        
        // Get rid of those macros defined in <math.h> in lieu of real functions.
        #undef abs
        #undef div
        #undef acos
        #undef asin
        #undef atan
        #undef atan2
        #undef ceil
        #undef cos
        #undef cosh
        #undef exp
        #undef fabs
        #undef floor
        #undef fmod
        #undef frexp
        #undef ldexp
        #undef log
        #undef log10
        #undef modf
        #undef pow
        #undef sin
        #undef sinh
        #undef sqrt
        #undef tan
        #undef tanh
        
        namespace std _GLIBCXX_VISIBILITY(default)
        {
        _GLIBCXX_BEGIN_NAMESPACE_VERSION
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR double
          abs(double __x)
          { return __builtin_fabs(__x); }
        #endif
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          abs(float __x)
          { return __builtin_fabsf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          abs(long double __x)
          { return __builtin_fabsl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            abs(_Tp __x)
            { return __builtin_fabs(__x); }
        
          using ::acos;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          acos(float __x)
          { return __builtin_acosf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          acos(long double __x)
          { return __builtin_acosl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            acos(_Tp __x)
            { return __builtin_acos(__x); }
        
          using ::asin;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          asin(float __x)
          { return __builtin_asinf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          asin(long double __x)
          { return __builtin_asinl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            asin(_Tp __x)
            { return __builtin_asin(__x); }
        
          using ::atan;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          atan(float __x)
          { return __builtin_atanf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          atan(long double __x)
          { return __builtin_atanl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            atan(_Tp __x)
            { return __builtin_atan(__x); }
        
          using ::atan2;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          atan2(float __y, float __x)
          { return __builtin_atan2f(__y, __x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          atan2(long double __y, long double __x)
          { return __builtin_atan2l(__y, __x); }
        #endif
        
          template<typename _Tp, typename _Up>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            atan2(_Tp __y, _Up __x)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return atan2(__type(__y), __type(__x));
            }
        
          using ::ceil;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          ceil(float __x)
          { return __builtin_ceilf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          ceil(long double __x)
          { return __builtin_ceill(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            ceil(_Tp __x)
            { return __builtin_ceil(__x); }
        
          using ::cos;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          cos(float __x)
          { return __builtin_cosf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          cos(long double __x)
          { return __builtin_cosl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            cos(_Tp __x)
            { return __builtin_cos(__x); }
        
          using ::cosh;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          cosh(float __x)
          { return __builtin_coshf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          cosh(long double __x)
          { return __builtin_coshl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            cosh(_Tp __x)
            { return __builtin_cosh(__x); }
        
          using ::exp;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          exp(float __x)
          { return __builtin_expf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          exp(long double __x)
          { return __builtin_expl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            exp(_Tp __x)
            { return __builtin_exp(__x); }
        
          using ::fabs;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          fabs(float __x)
          { return __builtin_fabsf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          fabs(long double __x)
          { return __builtin_fabsl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            fabs(_Tp __x)
            { return __builtin_fabs(__x); }
        
          using ::floor;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          floor(float __x)
          { return __builtin_floorf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          floor(long double __x)
          { return __builtin_floorl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            floor(_Tp __x)
            { return __builtin_floor(__x); }
        
          using ::fmod;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          fmod(float __x, float __y)
          { return __builtin_fmodf(__x, __y); }
        
          inline _GLIBCXX_CONSTEXPR long double
          fmod(long double __x, long double __y)
          { return __builtin_fmodl(__x, __y); }
        #endif
        
          template<typename _Tp, typename _Up>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            fmod(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return fmod(__type(__x), __type(__y));
            }
        
          using ::frexp;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline float
          frexp(float __x, int* __exp)
          { return __builtin_frexpf(__x, __exp); }
        
          inline long double
          frexp(long double __x, int* __exp)
          { return __builtin_frexpl(__x, __exp); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            frexp(_Tp __x, int* __exp)
            { return __builtin_frexp(__x, __exp); }
        
          using ::ldexp;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          ldexp(float __x, int __exp)
          { return __builtin_ldexpf(__x, __exp); }
        
          inline _GLIBCXX_CONSTEXPR long double
          ldexp(long double __x, int __exp)
          { return __builtin_ldexpl(__x, __exp); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            ldexp(_Tp __x, int __exp)
            { return __builtin_ldexp(__x, __exp); }
        
          using ::log;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          log(float __x)
          { return __builtin_logf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          log(long double __x)
          { return __builtin_logl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            log(_Tp __x)
            { return __builtin_log(__x); }
        
          using ::log10;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          log10(float __x)
          { return __builtin_log10f(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          log10(long double __x)
          { return __builtin_log10l(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                            double>::__type
            log10(_Tp __x)
            { return __builtin_log10(__x); }
        
          using ::modf;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline float
          modf(float __x, float* __iptr)
          { return __builtin_modff(__x, __iptr); }
        
          inline long double
          modf(long double __x, long double* __iptr)
          { return __builtin_modfl(__x, __iptr); }
        #endif
        
          using ::pow;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          pow(float __x, float __y)
          { return __builtin_powf(__x, __y); }
        
          inline _GLIBCXX_CONSTEXPR long double
          pow(long double __x, long double __y)
          { return __builtin_powl(__x, __y); }
        
        #if __cplusplus < 201103L
          // _GLIBCXX_RESOLVE_LIB_DEFECTS
          // DR 550. What should the return type of pow(float,int) be?
          inline double
          pow(double __x, int __i)
          { return __builtin_powi(__x, __i); }
        
          inline float
          pow(float __x, int __n)
          { return __builtin_powif(__x, __n); }
        
          inline long double
          pow(long double __x, int __n)
          { return __builtin_powil(__x, __n); }
        #endif
        #endif
        
          template<typename _Tp, typename _Up>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            pow(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return pow(__type(__x), __type(__y));
            }
        
          using ::sin;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          sin(float __x)
          { return __builtin_sinf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          sin(long double __x)
          { return __builtin_sinl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            sin(_Tp __x)
            { return __builtin_sin(__x); }
        
          using ::sinh;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          sinh(float __x)
          { return __builtin_sinhf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          sinh(long double __x)
          { return __builtin_sinhl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            sinh(_Tp __x)
            { return __builtin_sinh(__x); }
        
          using ::sqrt;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          sqrt(float __x)
          { return __builtin_sqrtf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          sqrt(long double __x)
          { return __builtin_sqrtl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            sqrt(_Tp __x)
            { return __builtin_sqrt(__x); }
        
          using ::tan;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          tan(float __x)
          { return __builtin_tanf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          tan(long double __x)
          { return __builtin_tanl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            tan(_Tp __x)
            { return __builtin_tan(__x); }
        
          using ::tanh;
        
        #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
          inline _GLIBCXX_CONSTEXPR float
          tanh(float __x)
          { return __builtin_tanhf(__x); }
        
          inline _GLIBCXX_CONSTEXPR long double
          tanh(long double __x)
          { return __builtin_tanhl(__x); }
        #endif
        
          template<typename _Tp>
            inline _GLIBCXX_CONSTEXPR
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            double>::__type
            tanh(_Tp __x)
            { return __builtin_tanh(__x); }
        
        _GLIBCXX_END_NAMESPACE_VERSION
        } // namespace
        
        #if _GLIBCXX_USE_C99_MATH
        #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
        
        // These are possible macros imported from C99-land.
        #undef fpclassify
        #undef isfinite
        #undef isinf
        #undef isnan
        #undef isnormal
        #undef signbit
        #undef isgreater
        #undef isgreaterequal
        #undef isless
        #undef islessequal
        #undef islessgreater
        #undef isunordered
        
        namespace std _GLIBCXX_VISIBILITY(default)
        {
        _GLIBCXX_BEGIN_NAMESPACE_VERSION
        
        #if __cplusplus >= 201103L
          constexpr int
          fpclassify(float __x)
          { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
        				FP_SUBNORMAL, FP_ZERO, __x); }
        
          constexpr int
          fpclassify(double __x)
          { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
        				FP_SUBNORMAL, FP_ZERO, __x); }
        
          constexpr int
          fpclassify(long double __x)
          { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
        				FP_SUBNORMAL, FP_ZERO, __x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      int>::__type
            fpclassify(_Tp __x)
            { return __x != 0 ? FP_NORMAL : FP_ZERO; }
        
          constexpr bool
          isfinite(float __x)
          { return __builtin_isfinite(__x); }
        
          constexpr bool
          isfinite(double __x)
          { return __builtin_isfinite(__x); }
        
          constexpr bool
          isfinite(long double __x)
          { return __builtin_isfinite(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      bool>::__type
            isfinite(_Tp __x)
            { return true; }
        
          constexpr bool
          isinf(float __x)
          { return __builtin_isinf(__x); }
        
          constexpr bool
          isinf(double __x)
          { return __builtin_isinf(__x); }
        
          constexpr bool
          isinf(long double __x)
          { return __builtin_isinf(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      bool>::__type
            isinf(_Tp __x)
            { return false; }
        
          constexpr bool
          isnan(float __x)
          { return __builtin_isnan(__x); }
        
          constexpr bool
          isnan(double __x)
          { return __builtin_isnan(__x); }
        
          constexpr bool
          isnan(long double __x)
          { return __builtin_isnan(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      bool>::__type
            isnan(_Tp __x)
            { return false; }
        
          constexpr bool
          isnormal(float __x)
          { return __builtin_isnormal(__x); }
        
          constexpr bool
          isnormal(double __x)
          { return __builtin_isnormal(__x); }
        
          constexpr bool
          isnormal(long double __x)
          { return __builtin_isnormal(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      bool>::__type
            isnormal(_Tp __x)
            { return __x != 0 ? true : false; }
        
          // The front-end doesn't provide a type generic builtin (libstdc++/58625).
          constexpr bool
          signbit(float __x)
          { return __builtin_signbitf(__x); }
        
          constexpr bool
          signbit(double __x)
          { return __builtin_signbit(__x); }
        
          constexpr bool
          signbit(long double __x)
          { return __builtin_signbitl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
                                                      bool>::__type
            signbit(_Tp __x)
            { return __x < 0 ? true : false; }
        
          constexpr bool
          isgreater(float __x, float __y)
          { return __builtin_isgreater(__x, __y); }
        
          constexpr bool
          isgreater(double __x, double __y)
          { return __builtin_isgreater(__x, __y); }
        
          constexpr bool
          isgreater(long double __x, long double __y)
          { return __builtin_isgreater(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            isgreater(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_isgreater(__type(__x), __type(__y));
            }
        
          constexpr bool
          isgreaterequal(float __x, float __y)
          { return __builtin_isgreaterequal(__x, __y); }
        
          constexpr bool
          isgreaterequal(double __x, double __y)
          { return __builtin_isgreaterequal(__x, __y); }
        
          constexpr bool
          isgreaterequal(long double __x, long double __y)
          { return __builtin_isgreaterequal(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            isgreaterequal(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_isgreaterequal(__type(__x), __type(__y));
            }
        
          constexpr bool
          isless(float __x, float __y)
          { return __builtin_isless(__x, __y); }
        
          constexpr bool
          isless(double __x, double __y)
          { return __builtin_isless(__x, __y); }
        
          constexpr bool
          isless(long double __x, long double __y)
          { return __builtin_isless(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            isless(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_isless(__type(__x), __type(__y));
            }
        
          constexpr bool
          islessequal(float __x, float __y)
          { return __builtin_islessequal(__x, __y); }
        
          constexpr bool
          islessequal(double __x, double __y)
          { return __builtin_islessequal(__x, __y); }
        
          constexpr bool
          islessequal(long double __x, long double __y)
          { return __builtin_islessequal(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            islessequal(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_islessequal(__type(__x), __type(__y));
            }
        
          constexpr bool
          islessgreater(float __x, float __y)
          { return __builtin_islessgreater(__x, __y); }
        
          constexpr bool
          islessgreater(double __x, double __y)
          { return __builtin_islessgreater(__x, __y); }
        
          constexpr bool
          islessgreater(long double __x, long double __y)
          { return __builtin_islessgreater(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            islessgreater(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_islessgreater(__type(__x), __type(__y));
            }
        
          constexpr bool
          isunordered(float __x, float __y)
          { return __builtin_isunordered(__x, __y); }
        
          constexpr bool
          isunordered(double __x, double __y)
          { return __builtin_isunordered(__x, __y); }
        
          constexpr bool
          isunordered(long double __x, long double __y)
          { return __builtin_isunordered(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename
            __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
        			    && __is_arithmetic<_Up>::__value), bool>::__type
            isunordered(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return __builtin_isunordered(__type(__x), __type(__y));
            }
        
        #else
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            fpclassify(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
        				  FP_SUBNORMAL, FP_ZERO, __type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isfinite(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isfinite(__type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isinf(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isinf(__type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isnan(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isnan(__type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isnormal(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isnormal(__type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            signbit(_Tp __f)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_signbit(__type(__f));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isgreater(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isgreater(__type(__f1), __type(__f2));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isgreaterequal(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isgreaterequal(__type(__f1), __type(__f2));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isless(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isless(__type(__f1), __type(__f2));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            islessequal(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_islessequal(__type(__f1), __type(__f2));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            islessgreater(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_islessgreater(__type(__f1), __type(__f2));
            }
        
          template<typename _Tp>
            inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
        					   int>::__type
            isunordered(_Tp __f1, _Tp __f2)
            {
              typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
              return __builtin_isunordered(__type(__f1), __type(__f2));
            }
        
        #endif
        
        _GLIBCXX_END_NAMESPACE_VERSION
        } // namespace
        
        #endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
        #endif
        
        #if __cplusplus >= 201103L
        
        #ifdef _GLIBCXX_USE_C99_MATH_TR1
        
        #undef acosh
        #undef acoshf
        #undef acoshl
        #undef asinh
        #undef asinhf
        #undef asinhl
        #undef atanh
        #undef atanhf
        #undef atanhl
        #undef cbrt
        #undef cbrtf
        #undef cbrtl
        #undef copysign
        #undef copysignf
        #undef copysignl
        #undef erf
        #undef erff
        #undef erfl
        #undef erfc
        #undef erfcf
        #undef erfcl
        #undef exp2
        #undef exp2f
        #undef exp2l
        #undef expm1
        #undef expm1f
        #undef expm1l
        #undef fdim
        #undef fdimf
        #undef fdiml
        #undef fma
        #undef fmaf
        #undef fmal
        #undef fmax
        #undef fmaxf
        #undef fmaxl
        #undef fmin
        #undef fminf
        #undef fminl
        #undef hypot
        #undef hypotf
        #undef hypotl
        #undef ilogb
        #undef ilogbf
        #undef ilogbl
        #undef lgamma
        #undef lgammaf
        #undef lgammal
        #undef llrint
        #undef llrintf
        #undef llrintl
        #undef llround
        #undef llroundf
        #undef llroundl
        #undef log1p
        #undef log1pf
        #undef log1pl
        #undef log2
        #undef log2f
        #undef log2l
        #undef logb
        #undef logbf
        #undef logbl
        #undef lrint
        #undef lrintf
        #undef lrintl
        #undef lround
        #undef lroundf
        #undef lroundl
        #undef nan
        #undef nanf
        #undef nanl
        #undef nearbyint
        #undef nearbyintf
        #undef nearbyintl
        #undef nextafter
        #undef nextafterf
        #undef nextafterl
        #undef nexttoward
        #undef nexttowardf
        #undef nexttowardl
        #undef remainder
        #undef remainderf
        #undef remainderl
        #undef remquo
        #undef remquof
        #undef remquol
        #undef rint
        #undef rintf
        #undef rintl
        #undef round
        #undef roundf
        #undef roundl
        #undef scalbln
        #undef scalblnf
        #undef scalblnl
        #undef scalbn
        #undef scalbnf
        #undef scalbnl
        #undef tgamma
        #undef tgammaf
        #undef tgammal
        #undef trunc
        #undef truncf
        #undef truncl
        
        namespace std _GLIBCXX_VISIBILITY(default)
        {
        _GLIBCXX_BEGIN_NAMESPACE_VERSION
        
          // types
          using ::double_t;
          using ::float_t;
        
          // functions
          using ::acosh;
          using ::acoshf;
          using ::acoshl;
        
          using ::asinh;
          using ::asinhf;
          using ::asinhl;
        
          using ::atanh;
          using ::atanhf;
          using ::atanhl;
        
          using ::cbrt;
          using ::cbrtf;
          using ::cbrtl;
        
          using ::copysign;
          using ::copysignf;
          using ::copysignl;
        
          using ::erf;
          using ::erff;
          using ::erfl;
        
          using ::erfc;
          using ::erfcf;
          using ::erfcl;
        
          using ::exp2;
          using ::exp2f;
          using ::exp2l;
        
          using ::expm1;
          using ::expm1f;
          using ::expm1l;
        
          using ::fdim;
          using ::fdimf;
          using ::fdiml;
        
          using ::fma;
          using ::fmaf;
          using ::fmal;
        
          using ::fmax;
          using ::fmaxf;
          using ::fmaxl;
        
          using ::fmin;
          using ::fminf;
          using ::fminl;
        
          using ::hypot;
          using ::hypotf;
          using ::hypotl;
        
          using ::ilogb;
          using ::ilogbf;
          using ::ilogbl;
        
          using ::lgamma;
          using ::lgammaf;
          using ::lgammal;
        
          using ::llrint;
          using ::llrintf;
          using ::llrintl;
        
          using ::llround;
          using ::llroundf;
          using ::llroundl;
        
          using ::log1p;
          using ::log1pf;
          using ::log1pl;
        
          using ::log2;
          using ::log2f;
          using ::log2l;
        
          using ::logb;
          using ::logbf;
          using ::logbl;
        
          using ::lrint;
          using ::lrintf;
          using ::lrintl;
        
          using ::lround;
          using ::lroundf;
          using ::lroundl;
        
          using ::nan;
          using ::nanf;
          using ::nanl;
        
          using ::nearbyint;
          using ::nearbyintf;
          using ::nearbyintl;
        
          using ::nextafter;
          using ::nextafterf;
          using ::nextafterl;
        
          using ::nexttoward;
          using ::nexttowardf;
          using ::nexttowardl;
        
          using ::remainder;
          using ::remainderf;
          using ::remainderl;
        
          using ::remquo;
          using ::remquof;
          using ::remquol;
        
          using ::rint;
          using ::rintf;
          using ::rintl;
        
          using ::round;
          using ::roundf;
          using ::roundl;
        
          using ::scalbln;
          using ::scalblnf;
          using ::scalblnl;
        
          using ::scalbn;
          using ::scalbnf;
          using ::scalbnl;
        
          using ::tgamma;
          using ::tgammaf;
          using ::tgammal;
        
          using ::trunc;
          using ::truncf;
          using ::truncl;
        
          /// Additional overloads.
          constexpr float
          acosh(float __x)
          { return __builtin_acoshf(__x); }
        
          constexpr long double
          acosh(long double __x)
          { return __builtin_acoshl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            acosh(_Tp __x)
            { return __builtin_acosh(__x); }
        
          constexpr float
          asinh(float __x)
          { return __builtin_asinhf(__x); }
        
          constexpr long double
          asinh(long double __x)
          { return __builtin_asinhl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            asinh(_Tp __x)
            { return __builtin_asinh(__x); }
        
          constexpr float
          atanh(float __x)
          { return __builtin_atanhf(__x); }
        
          constexpr long double
          atanh(long double __x)
          { return __builtin_atanhl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            atanh(_Tp __x)
            { return __builtin_atanh(__x); }
        
          constexpr float
          cbrt(float __x)
          { return __builtin_cbrtf(__x); }
        
          constexpr long double
          cbrt(long double __x)
          { return __builtin_cbrtl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            cbrt(_Tp __x)
            { return __builtin_cbrt(__x); }
        
          constexpr float
          copysign(float __x, float __y)
          { return __builtin_copysignf(__x, __y); }
        
          constexpr long double
          copysign(long double __x, long double __y)
          { return __builtin_copysignl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            copysign(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return copysign(__type(__x), __type(__y));
            }
        
          constexpr float
          erf(float __x)
          { return __builtin_erff(__x); }
        
          constexpr long double
          erf(long double __x)
          { return __builtin_erfl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            erf(_Tp __x)
            { return __builtin_erf(__x); }
        
          constexpr float
          erfc(float __x)
          { return __builtin_erfcf(__x); }
        
          constexpr long double
          erfc(long double __x)
          { return __builtin_erfcl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            erfc(_Tp __x)
            { return __builtin_erfc(__x); }
        
          constexpr float
          exp2(float __x)
          { return __builtin_exp2f(__x); }
        
          constexpr long double
          exp2(long double __x)
          { return __builtin_exp2l(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            exp2(_Tp __x)
            { return __builtin_exp2(__x); }
        
          constexpr float
          expm1(float __x)
          { return __builtin_expm1f(__x); }
        
          constexpr long double
          expm1(long double __x)
          { return __builtin_expm1l(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            expm1(_Tp __x)
            { return __builtin_expm1(__x); }
        
          constexpr float
          fdim(float __x, float __y)
          { return __builtin_fdimf(__x, __y); }
        
          constexpr long double
          fdim(long double __x, long double __y)
          { return __builtin_fdiml(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            fdim(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return fdim(__type(__x), __type(__y));
            }
        
          constexpr float
          fma(float __x, float __y, float __z)
          { return __builtin_fmaf(__x, __y, __z); }
        
          constexpr long double
          fma(long double __x, long double __y, long double __z)
          { return __builtin_fmal(__x, __y, __z); }
        
          template<typename _Tp, typename _Up, typename _Vp>
            constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
            fma(_Tp __x, _Up __y, _Vp __z)
            {
              typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
              return fma(__type(__x), __type(__y), __type(__z));
            }
        
          constexpr float
          fmax(float __x, float __y)
          { return __builtin_fmaxf(__x, __y); }
        
          constexpr long double
          fmax(long double __x, long double __y)
          { return __builtin_fmaxl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            fmax(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return fmax(__type(__x), __type(__y));
            }
        
          constexpr float
          fmin(float __x, float __y)
          { return __builtin_fminf(__x, __y); }
        
          constexpr long double
          fmin(long double __x, long double __y)
          { return __builtin_fminl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            fmin(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return fmin(__type(__x), __type(__y));
            }
        
          constexpr float
          hypot(float __x, float __y)
          { return __builtin_hypotf(__x, __y); }
        
          constexpr long double
          hypot(long double __x, long double __y)
          { return __builtin_hypotl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            hypot(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return hypot(__type(__x), __type(__y));
            }
        
          constexpr int
          ilogb(float __x)
          { return __builtin_ilogbf(__x); }
        
          constexpr int
          ilogb(long double __x)
          { return __builtin_ilogbl(__x); }
        
          template<typename _Tp>
            constexpr
            typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                            int>::__type
            ilogb(_Tp __x)
            { return __builtin_ilogb(__x); }
        
          constexpr float
          lgamma(float __x)
          { return __builtin_lgammaf(__x); }
        
          constexpr long double
          lgamma(long double __x)
          { return __builtin_lgammal(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            lgamma(_Tp __x)
            { return __builtin_lgamma(__x); }
        
          constexpr long long
          llrint(float __x)
          { return __builtin_llrintf(__x); }
        
          constexpr long long
          llrint(long double __x)
          { return __builtin_llrintl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      long long>::__type
            llrint(_Tp __x)
            { return __builtin_llrint(__x); }
        
          constexpr long long
          llround(float __x)
          { return __builtin_llroundf(__x); }
        
          constexpr long long
          llround(long double __x)
          { return __builtin_llroundl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      long long>::__type
            llround(_Tp __x)
            { return __builtin_llround(__x); }
        
          constexpr float
          log1p(float __x)
          { return __builtin_log1pf(__x); }
        
          constexpr long double
          log1p(long double __x)
          { return __builtin_log1pl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            log1p(_Tp __x)
            { return __builtin_log1p(__x); }
        
          // DR 568.
          constexpr float
          log2(float __x)
          { return __builtin_log2f(__x); }
        
          constexpr long double
          log2(long double __x)
          { return __builtin_log2l(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            log2(_Tp __x)
            { return __builtin_log2(__x); }
        
          constexpr float
          logb(float __x)
          { return __builtin_logbf(__x); }
        
          constexpr long double
          logb(long double __x)
          { return __builtin_logbl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            logb(_Tp __x)
            { return __builtin_logb(__x); }
        
          constexpr long
          lrint(float __x)
          { return __builtin_lrintf(__x); }
        
          constexpr long
          lrint(long double __x)
          { return __builtin_lrintl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      long>::__type
            lrint(_Tp __x)
            { return __builtin_lrint(__x); }
        
          constexpr long
          lround(float __x)
          { return __builtin_lroundf(__x); }
        
          constexpr long
          lround(long double __x)
          { return __builtin_lroundl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      long>::__type
            lround(_Tp __x)
            { return __builtin_lround(__x); }
        
          constexpr float
          nearbyint(float __x)
          { return __builtin_nearbyintf(__x); }
        
          constexpr long double
          nearbyint(long double __x)
          { return __builtin_nearbyintl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            nearbyint(_Tp __x)
            { return __builtin_nearbyint(__x); }
        
          constexpr float
          nextafter(float __x, float __y)
          { return __builtin_nextafterf(__x, __y); }
        
          constexpr long double
          nextafter(long double __x, long double __y)
          { return __builtin_nextafterl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            nextafter(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return nextafter(__type(__x), __type(__y));
            }
        
          constexpr float
          nexttoward(float __x, long double __y)
          { return __builtin_nexttowardf(__x, __y); }
        
          constexpr long double
          nexttoward(long double __x, long double __y)
          { return __builtin_nexttowardl(__x, __y); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            nexttoward(_Tp __x, long double __y)
            { return __builtin_nexttoward(__x, __y); }
        
          constexpr float
          remainder(float __x, float __y)
          { return __builtin_remainderf(__x, __y); }
        
          constexpr long double
          remainder(long double __x, long double __y)
          { return __builtin_remainderl(__x, __y); }
        
          template<typename _Tp, typename _Up>
            constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            remainder(_Tp __x, _Up __y)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return remainder(__type(__x), __type(__y));
            }
        
          inline float
          remquo(float __x, float __y, int* __pquo)
          { return __builtin_remquof(__x, __y, __pquo); }
        
          inline long double
          remquo(long double __x, long double __y, int* __pquo)
          { return __builtin_remquol(__x, __y, __pquo); }
        
          template<typename _Tp, typename _Up>
            inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
            remquo(_Tp __x, _Up __y, int* __pquo)
            {
              typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
              return remquo(__type(__x), __type(__y), __pquo);
            }
        
          constexpr float
          rint(float __x)
          { return __builtin_rintf(__x); }
        
          constexpr long double
          rint(long double __x)
          { return __builtin_rintl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            rint(_Tp __x)
            { return __builtin_rint(__x); }
        
          constexpr float
          round(float __x)
          { return __builtin_roundf(__x); }
        
          constexpr long double
          round(long double __x)
          { return __builtin_roundl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            round(_Tp __x)
            { return __builtin_round(__x); }
        
          constexpr float
          scalbln(float __x, long __ex)
          { return __builtin_scalblnf(__x, __ex); }
        
          constexpr long double
          scalbln(long double __x, long __ex)
          { return __builtin_scalblnl(__x, __ex); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            scalbln(_Tp __x, long __ex)
            { return __builtin_scalbln(__x, __ex); }
         
          constexpr float
          scalbn(float __x, int __ex)
          { return __builtin_scalbnf(__x, __ex); }
        
          constexpr long double
          scalbn(long double __x, int __ex)
          { return __builtin_scalbnl(__x, __ex); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            scalbn(_Tp __x, int __ex)
            { return __builtin_scalbn(__x, __ex); }
        
          constexpr float
          tgamma(float __x)
          { return __builtin_tgammaf(__x); }
        
          constexpr long double
          tgamma(long double __x)
          { return __builtin_tgammal(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            tgamma(_Tp __x)
            { return __builtin_tgamma(__x); }
         
          constexpr float
          trunc(float __x)
          { return __builtin_truncf(__x); }
        
          constexpr long double
          trunc(long double __x)
          { return __builtin_truncl(__x); }
        
          template<typename _Tp>
            constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
                                                      double>::__type
            trunc(_Tp __x)
            { return __builtin_trunc(__x); }
        
        _GLIBCXX_END_NAMESPACE_VERSION
        } // namespace
        
        #endif // _GLIBCXX_USE_C99_MATH_TR1
        
        #endif // C++11
        
        #endif
        
        • @ 2025-1-16 21:38:26

          ku3

          #include<cstdio>
          // -*- C++ -*- forwarding header.
          
          // Copyright (C) 1997-2014 Free Software Foundation, Inc.
          //
          // This file is part of the GNU ISO C++ Library.  This library is free
          // software; you can redistribute it and/or modify it under the
          // terms of the GNU General Public License as published by the
          // Free Software Foundation; either version 3, or (at your option)
          // any later version.
          
          // This library is distributed in the hope that it will be useful,
          // but WITHOUT ANY WARRANTY; without even the implied warranty of
          // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          // GNU General Public License for more details.
          
          // Under Section 7 of GPL version 3, you are granted additional
          // permissions described in the GCC Runtime Library Exception, version
          // 3.1, as published by the Free Software Foundation.
          
          // You should have received a copy of the GNU General Public License and
          // a copy of the GCC Runtime Library Exception along with this program;
          // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
          // <http://www.gnu.org/licenses/>.
          
          /** @file include/cstdio
           *  This is a Standard C++ Library file.  You should @c \#include this file
           *  in your programs, rather than any of the @a *.h implementation files.
           *
           *  This is the C++ version of the Standard C Library header @c stdio.h,
           *  and its contents are (mostly) the same as that header, but are all
           *  contained in the namespace @c std (except for names which are defined
           *  as macros in C).
           */
          
          //
          // ISO C++ 14882: 27.8.2  C Library files
          //
          
          #pragma GCC system_header
          
          #include <bits/c++config.h>
          #include <stdio.h>
          
          #ifndef _GLIBCXX_CSTDIO
          #define _GLIBCXX_CSTDIO 1
          
          #ifndef _GLIBCXX_HAVE_GETS
          extern "C" char* gets (char* __s) __attribute__((deprecated));
          #endif
          
          // Get rid of those macros defined in <stdio.h> in lieu of real functions.
          #undef clearerr
          #undef fclose
          #undef feof
          #undef ferror
          #undef fflush
          #undef fgetc
          #undef fgetpos
          #undef fgets
          #undef fopen
          #undef fprintf
          #undef fputc
          #undef fputs
          #undef fread
          #undef freopen
          #undef fscanf
          #undef fseek
          #undef fsetpos
          #undef ftell
          #undef fwrite
          #undef getc
          #undef getchar
          #if __cplusplus <= 201103L
          # undef gets
          #endif
          #undef perror
          #undef printf
          #undef putc
          #undef putchar
          #undef puts
          #undef remove
          #undef rename
          #undef rewind
          #undef scanf
          #undef setbuf
          #undef setvbuf
          #undef sprintf
          #undef sscanf
          #undef tmpfile
          #undef tmpnam
          #undef ungetc
          #undef vfprintf
          #undef vprintf
          #undef vsprintf
          
          namespace std
          {
            using ::FILE;
            using ::fpos_t;
          
            using ::clearerr;
            using ::fclose;
            using ::feof;
            using ::ferror;
            using ::fflush;
            using ::fgetc;
            using ::fgetpos;
            using ::fgets;
            using ::fopen;
            using ::fprintf;
            using ::fputc;
            using ::fputs;
            using ::fread;
            using ::freopen;
            using ::fscanf;
            using ::fseek;
            using ::fsetpos;
            using ::ftell;
            using ::fwrite;
            using ::getc;
            using ::getchar;
          #if __cplusplus <= 201103L
            // LWG 2249
            using ::gets;
          #endif
            using ::perror;
            using ::printf;
            using ::putc;
            using ::putchar;
            using ::puts;
            using ::remove;
            using ::rename;
            using ::rewind;
            using ::scanf;
            using ::setbuf;
            using ::setvbuf;
            using ::sprintf;
            using ::sscanf;
            using ::tmpfile;
          #if _GLIBCXX_USE_TMPNAM
            using ::tmpnam;
          #endif
            using ::ungetc;
            using ::vfprintf;
            using ::vprintf;
            using ::vsprintf;
          } // namespace
          
          #if _GLIBCXX_USE_C99
          
          #undef snprintf
          #undef vfscanf
          #undef vscanf
          #undef vsnprintf
          #undef vsscanf
          
          namespace __gnu_cxx
          {
          #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
            extern "C" int
            (snprintf)(char * __restrict, std::size_t, const char * __restrict, ...)
            throw ();
            extern "C" int
            (vfscanf)(FILE * __restrict, const char * __restrict, __gnuc_va_list);
            extern "C" int (vscanf)(const char * __restrict, __gnuc_va_list);
            extern "C" int
            (vsnprintf)(char * __restrict, std::size_t, const char * __restrict,
          	      __gnuc_va_list) throw ();
            extern "C" int
            (vsscanf)(const char * __restrict, const char * __restrict, __gnuc_va_list)
            throw ();
          #endif
          
          #if !_GLIBCXX_USE_C99_DYNAMIC
            using ::snprintf;
            using ::vfscanf;
            using ::vscanf;
            using ::vsnprintf;
            using ::vsscanf;
          #endif
          } // namespace __gnu_cxx
          
          namespace std
          {
            using ::__gnu_cxx::snprintf;
            using ::__gnu_cxx::vfscanf;
            using ::__gnu_cxx::vscanf;
            using ::__gnu_cxx::vsnprintf;
            using ::__gnu_cxx::vsscanf;
          } // namespace std
          
          #endif // _GLIBCXX_USE_C99
          
          #endif
          
          • @ 2025-1-16 21:37:19

            ku2

            #include<iostream>
            // Standard iostream objects -*- C++ -*-
            
            // Copyright (C) 1997-2014 Free Software Foundation, Inc.
            //
            // This file is part of the GNU ISO C++ Library.  This library is free
            // software; you can redistribute it and/or modify it under the
            // terms of the GNU General Public License as published by the
            // Free Software Foundation; either version 3, or (at your option)
            // any later version.
            
            // This library is distributed in the hope that it will be useful,
            // but WITHOUT ANY WARRANTY; without even the implied warranty of
            // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            // GNU General Public License for more details.
            
            // Under Section 7 of GPL version 3, you are granted additional
            // permissions described in the GCC Runtime Library Exception, version
            // 3.1, as published by the Free Software Foundation.
            
            // You should have received a copy of the GNU General Public License and
            // a copy of the GCC Runtime Library Exception along with this program;
            // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
            // <http://www.gnu.org/licenses/>.
            
            /** @file include/iostream
             *  This is a Standard C++ Library header.
             */
            
            //
            // ISO C++ 14882: 27.3  Standard iostream objects
            //
            
            #ifndef _GLIBCXX_IOSTREAM
            #define _GLIBCXX_IOSTREAM 1
            
            #pragma GCC system_header
            
            #include <bits/c++config.h>
            #include <ostream>
            #include <istream>
            
            namespace std _GLIBCXX_VISIBILITY(default)
            {
            _GLIBCXX_BEGIN_NAMESPACE_VERSION
            
              /**
               *  @name Standard Stream Objects
               *
               *  The &lt;iostream&gt; header declares the eight <em>standard stream
               *  objects</em>.  For other declarations, see
               *  http://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html
               *  and the @link iosfwd I/O forward declarations @endlink
               *
               *  They are required by default to cooperate with the global C
               *  library's @c FILE streams, and to be available during program
               *  startup and termination. For more information, see the section of the
               *  manual linked to above.
              */
              //@{
              extern istream cin;		/// Linked to standard input
              extern ostream cout;		/// Linked to standard output
              extern ostream cerr;		/// Linked to standard error (unbuffered)
              extern ostream clog;		/// Linked to standard error (buffered)
            
            #ifdef _GLIBCXX_USE_WCHAR_T
              extern wistream wcin;		/// Linked to standard input
              extern wostream wcout;	/// Linked to standard output
              extern wostream wcerr;	/// Linked to standard error (unbuffered)
              extern wostream wclog;	/// Linked to standard error (buffered)
            #endif
              //@}
            
              // For construction of filebuffers for cout, cin, cerr, clog et. al.
              static ios_base::Init __ioinit;
            
            _GLIBCXX_END_NAMESPACE_VERSION
            } // namespace
            
            #endif /* _GLIBCXX_IOSTREAM */
            #include<stdio.h>
            /**
             * This file has no copyright assigned and is placed in the Public Domain.
             * This file is part of the mingw-w64 runtime package.
             * No warranty is given; refer to the file DISCLAIMER.PD within this package.
             */
            #ifndef _INC_STDIO
            #define _INC_STDIO
            
            #include <crtdefs.h>
            
            #include <_mingw_print_push.h>
            
            #pragma pack(push,_CRT_PACKING)
            
            #ifdef __cplusplus
            extern "C" {
            #endif
            
            #define BUFSIZ 512
            #define _NFILE _NSTREAM_
            #define _NSTREAM_ 512
            #define _IOB_ENTRIES 20
            #define EOF (-1)
            
            #ifndef _FILE_DEFINED
              struct _iobuf {
                char *_ptr;
                int _cnt;
                char *_base;
                int _flag;
                int _file;
                int _charbuf;
                int _bufsiz;
                char *_tmpfname;
              };
              typedef struct _iobuf FILE;
            #define _FILE_DEFINED
            #endif
            
            #ifdef _POSIX_
            #define _P_tmpdir "/"
            #define _wP_tmpdir L"/"
            #else
            #define _P_tmpdir "\\"
            #define _wP_tmpdir L"\\"
            #endif
            
            #define L_tmpnam (sizeof(_P_tmpdir) + 12)
            
            #ifdef _POSIX_
            #define L_ctermid 9
            #define L_cuserid 32
            #endif
            
            #define SEEK_CUR 1
            #define SEEK_END 2
            #define SEEK_SET 0
            
            #define	STDIN_FILENO	0
            #define	STDOUT_FILENO	1
            #define	STDERR_FILENO	2
            
            #define FILENAME_MAX 260
            #define FOPEN_MAX 20
            #define _SYS_OPEN 20
            #define TMP_MAX 32767
            
            #ifndef NULL
            #ifdef __cplusplus
            #ifndef _WIN64
            #define NULL 0
            #else
            #define NULL 0LL
            #endif  /* W64 */
            #else
            #define NULL ((void *)0)
            #endif
            #endif
            
            #include <_mingw_off_t.h>
            
            #ifndef _STDIO_DEFINED
            #ifdef _WIN64
              _CRTIMP FILE *__cdecl __iob_func(void);
            #define _iob  __iob_func()
            #else
            #ifdef _MSVCRT_
            extern FILE _iob[];	/* A pointer to an array of FILE */
            #define __iob_func()	(_iob)
            #else
            extern FILE (* __MINGW_IMP_SYMBOL(_iob))[];	/* A pointer to an array of FILE */
            #define __iob_func()	(* __MINGW_IMP_SYMBOL(_iob))
            #define _iob __iob_func()
            #endif
            #endif
            #endif
            
            #ifndef _FPOS_T_DEFINED
            #define _FPOS_T_DEFINED
            #undef _FPOSOFF
            
            #if (!defined(NO_OLDNAMES) || defined(__GNUC__))
              __MINGW_EXTENSION typedef __int64 fpos_t;
            #define _FPOSOFF(fp) ((long)(fp))
            #else
              __MINGW_EXTENSION typedef long long fpos_t;
            #define _FPOSOFF(fp) ((long)(fp))
            #endif
            
            #endif
            
            #ifndef _STDSTREAM_DEFINED
            #define _STDSTREAM_DEFINED
            
            #define stdin (&__iob_func()[0])
            #define stdout (&__iob_func()[1])
            #define stderr (&__iob_func()[2])
            #endif
            
            #define _IOREAD 0x0001
            #define _IOWRT 0x0002
            
            #define _IOFBF 0x0000
            #define _IOLBF 0x0040
            #define _IONBF 0x0004
            
            #define _IOMYBUF 0x0008
            #define _IOEOF 0x0010
            #define _IOERR 0x0020
            #define _IOSTRG 0x0040
            #define _IORW 0x0080
            #ifdef _POSIX_
            #define _IOAPPEND 0x0200
            #endif
            
            #define _TWO_DIGIT_EXPONENT 0x1
            
            #ifndef _STDIO_DEFINED
            extern
              __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...);
            extern
              __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp);
            extern
              __attribute__((__format__ (gnu_scanf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_scanf(const char * __restrict__ _Format,...);
            extern
              __attribute__((__format__ (gnu_scanf, 1, 0))) __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_vscanf(const char * __restrict__ Format, va_list argp);
            extern
              __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...);
            extern
              __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp);
            
            extern
              __attribute__((__format__ (gnu_printf, 3, 0))) __MINGW_ATTRIB_NONNULL(3)
              int __cdecl __mingw_vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format,
                                           va_list _ArgList);
            extern
              __attribute__((__format__ (gnu_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
              int __cdecl __mingw_snprintf(char * __restrict__ s, size_t n, const char * __restrict__  format, ...);
            extern
              __attribute__((__format__ (gnu_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_printf(const char * __restrict__ , ... ) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 1, 0))) __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_vprintf (const char * __restrict__ , va_list) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_sprintf (char * __restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__((nonnull (1,2)))
              int __cdecl __mingw_asprintf(char ** __restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW;
            extern
              __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__((nonnull (1,2)))
              int __cdecl __mingw_vasprintf(char ** __restrict__ , const char * __restrict__ , va_list) __MINGW_NOTHROW;
            
            #if __USE_MINGW_ANSI_STDIO
            /*
             * User has expressed a preference for C99 conformance...
             */
            #undef __MINGW_PRINTF_FORMAT
            #undef __MINGW_SCANF_FORMAT
            #define __MINGW_PRINTF_FORMAT gnu_printf
            #define __MINGW_SCANF_FORMAT  gnu_scanf
            
            #ifdef _GNU_SOURCE
            __mingw_ovr
            __attribute__ ((__format__ (gnu_printf, 2, 3))) __attribute__((nonnull (1,2)))
            int asprintf(char **__ret, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vasprintf( __ret, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__ ((__format__ (gnu_printf, 2, 0))) __attribute__((nonnull (1,2)))
            int vasprintf(char **__ret, const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vasprintf( __ret, __format, __local_argv );
            }
            #endif /* _GNU_SOURCE */
            
            /* There seems to be a bug about builtins and static overrides of them
               in g++.  So we need to do here some trickery.  */
            #ifdef __cplusplus
            extern "C++" {
            #endif
            
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
            int sscanf(const char *__source, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vsscanf( __source, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
            int scanf(const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vscanf( __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
            int fscanf(FILE *__stream, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vfscanf( __stream, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
            int vsscanf (const char *__source, const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vsscanf( __source, __format, __local_argv );
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 1, 0))) __MINGW_ATTRIB_NONNULL(1)
            int vscanf(const char *__format,  __builtin_va_list __local_argv)
            {
              return __mingw_vscanf( __format, __local_argv );
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
            int vfscanf (FILE *__stream,  const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vfscanf( __stream, __format, __local_argv );
            }
            #endif /* __NO_ISOCEXT */
            
            
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
            int fprintf (FILE *__stream, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vfprintf( __stream, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
            int printf (const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vprintf( __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2)
            int sprintf (char *__stream, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vsprintf( __stream, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
            int vfprintf (FILE *__stream, const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vfprintf( __stream, __format, __local_argv );
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 1, 0))) __MINGW_ATTRIB_NONNULL(1)
            int vprintf (const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vprintf( __format, __local_argv );
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2)
            int vsprintf (char *__stream, const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vsprintf( __stream, __format, __local_argv );
            }
            /* #ifndef __NO_ISOCEXT */  /* externs in libmingwex.a */
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3)
            int snprintf (char *__stream, size_t __n, const char *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vsnprintf( __stream, __n, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            __attribute__((__format__ (gnu_printf, 3, 0))) __MINGW_ATTRIB_NONNULL(3)
            int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vsnprintf( __stream, __n, __format, __local_argv );
            }
            
            /* Override __builtin_printf-routines ... Kludge for libstdc++ ...*/
            #define __builtin_vsnprintf __mingw_vsnprintf
            #define __builtin_vsprintf __mingw_vsprintf
            
            /* #endif */ /* __NO_ISOCEXT */
            
            #ifdef __cplusplus
            }
            #endif
            
            #else /* !__USE_MINGW_ANSI_STDIO */
            
            #undef __MINGW_PRINTF_FORMAT
            #undef __MINGW_SCANF_FORMAT
            #define __MINGW_PRINTF_FORMAT ms_printf
            #define __MINGW_SCANF_FORMAT  ms_scanf
            #undef __builtin_vsnprintf
            #undef __builtin_vsprintf
            
            /*
             * Default configuration: simply direct all calls to MSVCRT...
             */
              int __cdecl fprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,...);
              int __cdecl printf(const char * __restrict__ _Format,...);
              int __cdecl sprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
              int __cdecl vfprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,va_list _ArgList);
              int __cdecl vprintf(const char * __restrict__ _Format,va_list _ArgList);
              int __cdecl vsprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
              int __cdecl fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl scanf(const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            #ifdef _GNU_SOURCE
              int __cdecl vasprintf(char ** __restrict__ ret,const char * __restrict__ format,va_list ap)  __attribute__ ((format (__MINGW_PRINTF_FORMAT, 2, 0)));;
              int __cdecl asprintf(char ** __restrict__ ret,const char * __restrict__ format,...) __attribute__ ((format (__MINGW_PRINTF_FORMAT, 2, 3)));
            #endif /*_GNU_SOURCE*/
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
              int __cdecl __ms_vscanf(const char * __restrict__ Format, va_list argp);
              int __cdecl __ms_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp);
              int __cdecl __ms_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp);
            
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(2)
              int vfscanf (FILE *__stream,  const char *__format, __builtin_va_list __local_argv)
              {
                return __ms_vfscanf (__stream, __format, __local_argv);
              }
            
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(2)
              int vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv)
              {
                return __ms_vsscanf( __source, __format, __local_argv );
              }
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(1)
              int vscanf(const char *__format,  __builtin_va_list __local_argv)
              {
                return __ms_vscanf (__format, __local_argv);
              }
            
            #endif /* __NO_ISOCEXT */
            #endif /* __USE_MINGW_ANSI_STDIO */
            
              _CRTIMP int __cdecl _filbuf(FILE *_File);
              _CRTIMP int __cdecl _flsbuf(int _Ch,FILE *_File);
            #ifdef _POSIX_
              _CRTIMP FILE *__cdecl _fsopen(const char *_Filename,const char *_Mode);
            #else
              _CRTIMP FILE *__cdecl _fsopen(const char *_Filename,const char *_Mode,int _ShFlag);
            #endif
              void __cdecl clearerr(FILE *_File);
              int __cdecl fclose(FILE *_File);
              _CRTIMP int __cdecl _fcloseall(void);
            #ifdef _POSIX_
              FILE *__cdecl fdopen(int _FileHandle,const char *_Mode) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
            #else
              _CRTIMP FILE *__cdecl _fdopen(int _FileHandle,const char *_Mode);
            #endif
              int __cdecl feof(FILE *_File);
              int __cdecl ferror(FILE *_File);
              int __cdecl fflush(FILE *_File);
              int __cdecl fgetc(FILE *_File);
              _CRTIMP int __cdecl _fgetchar(void);
              int __cdecl fgetpos(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos); /* 64bit only, no 32bit version */
              int __cdecl fgetpos64(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos); /* fgetpos already 64bit */
              char *__cdecl fgets(char * __restrict__ _Buf,int _MaxCount,FILE * __restrict__ _File);
              _CRTIMP int __cdecl _fileno(FILE *_File);
            #ifdef _POSIX_
              int __cdecl fileno(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
            #endif
              _CRTIMP char *__cdecl _tempnam(const char *_DirName,const char *_FilePrefix);
              _CRTIMP int __cdecl _flushall(void);
              FILE *__cdecl fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              FILE *fopen64(const char * __restrict__ filename,const char * __restrict__  mode);
              int __cdecl fputc(int _Ch,FILE *_File);
              _CRTIMP int __cdecl _fputchar(int _Ch);
              int __cdecl fputs(const char * __restrict__ _Str,FILE * __restrict__ _File);
              size_t __cdecl fread(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
              FILE *__cdecl freopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode,FILE * __restrict__ _File) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl fsetpos(FILE *_File,const fpos_t *_Pos);
              int __cdecl fsetpos64(FILE *_File,const fpos_t *_Pos); /* fsetpos already 64bit */
              int __cdecl fseek(FILE *_File,long _Offset,int _Origin);
            
              /* Shouldn't be any fseeko32 in glibc, 32bit to 64bit casting should be fine */
              /* int fseeko32(FILE* stream, _off_t offset, int whence);*/ /* fseeko32 redirects to fseeko64 */
              int fseeko64(FILE* stream, _off64_t offset, int whence);
              int fseeko(FILE* stream, _off_t offset, int whence);
            
            #ifndef _FILE_OFFSET_BITS_SET_FSEEKO
            #define _FILE_OFFSET_BITS_SET_FSEEKO
            #if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64))
            #define fseeko fseeko64
            #endif /* (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) */
            #endif /* _FILE_OFFSET_BITS_SET_FSEEKO */
            
              long __cdecl ftell(FILE *_File);
              /* Returns truncated 64bit off_t */
              _off_t ftello(FILE * stream);
              _off64_t ftello64(FILE * stream);
            
            #ifndef _FILE_OFFSET_BITS_SET_FTELLO
            #define _FILE_OFFSET_BITS_SET_FTELLO
            #if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64))
            #define ftello ftello64
            #endif /* (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) */
            #endif /* _FILE_OFFSET_BITS_SET_FTELLO */
            
              __MINGW_EXTENSION int __cdecl _fseeki64(FILE *_File,__int64 _Offset,int _Origin);
              __MINGW_EXTENSION __int64 __cdecl _ftelli64(FILE *_File);
              size_t __cdecl fwrite(const void * __restrict__ _Str,size_t _Size,size_t _Count,FILE * __restrict__ _File);
              int __cdecl getc(FILE *_File);
              int __cdecl getchar(void);
              _CRTIMP int __cdecl _getmaxstdio(void);
              char *__cdecl gets(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl _getw(FILE *_File);
            #ifndef _CRT_PERROR_DEFINED
            #define _CRT_PERROR_DEFINED
              void __cdecl perror(const char *_ErrMsg);
            #endif
              _CRTIMP int __cdecl _pclose(FILE *_File);
              _CRTIMP FILE *__cdecl _popen(const char *_Command,const char *_Mode);
            #if !defined(NO_OLDNAMES) && !defined(popen)
            #define popen	_popen
            #define pclose	_pclose
            #endif
              int __cdecl putc(int _Ch,FILE *_File);
              int __cdecl putchar(int _Ch);
              int __cdecl puts(const char *_Str);
              _CRTIMP int __cdecl _putw(int _Word,FILE *_File);
            #ifndef _CRT_DIRECTORY_DEFINED
            #define _CRT_DIRECTORY_DEFINED
              int __cdecl remove(const char *_Filename);
              int __cdecl rename(const char *_OldFilename,const char *_NewFilename);
              _CRTIMP int __cdecl _unlink(const char *_Filename);
            #ifndef	NO_OLDNAMES
              int __cdecl unlink(const char *_Filename) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
            #endif
            #endif
              void __cdecl rewind(FILE *_File);
              _CRTIMP int __cdecl _rmtmp(void);
              void __cdecl setbuf(FILE * __restrict__ _File,char * __restrict__ _Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              _CRTIMP int __cdecl _setmaxstdio(int _Max);
              _CRTIMP unsigned int __cdecl _set_output_format(unsigned int _Format);
              _CRTIMP unsigned int __cdecl _get_output_format(void);
              int __cdecl setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);
              _CRTIMP int __cdecl _scprintf(const char * __restrict__ _Format,...);
              _CRTIMP int __cdecl _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              FILE *__cdecl tmpfile(void) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              char *__cdecl tmpnam(char *_Buffer);
              int __cdecl ungetc(int _Ch,FILE *_File);
            
              _CRTIMP int __cdecl _snprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              _CRTIMP int __cdecl _vsnprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
            #if !defined (__USE_MINGW_ANSI_STDIO) || __USE_MINGW_ANSI_STDIO == 0
            /* this is here to deal with software defining
             * vsnprintf as _vsnprintf, eg. libxml2.  */
            #pragma push_macro("snprintf")
            #pragma push_macro("vsnprintf")
            # undef snprintf
            # undef vsnprintf
              int __cdecl __ms_vsnprintf(char * __restrict__ d,size_t n,const char * __restrict__ format,va_list arg)
                __MINGW_ATTRIB_DEPRECATED_MSVC2005 __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(3)
              int vsnprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, va_list __local_argv)
              {
                return __ms_vsnprintf (__stream, __n, __format, __local_argv);
              }
            
              int __cdecl __ms_snprintf(char * __restrict__ s, size_t n, const char * __restrict__  format, ...);
            
            #ifndef __NO_ISOCEXT
            __mingw_ovr
            __MINGW_ATTRIB_NONNULL(3)
            int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __ms_vsnprintf (__stream, __n, __format, __local_argv);
              __builtin_va_end( __local_argv );
              return __retval;
            }
            #endif /* !__NO_ISOCEXT */
            
            #pragma pop_macro ("vsnprintf")
            #pragma pop_macro ("snprintf")
            #endif
            
              _CRTIMP int __cdecl _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
              _CRTIMP int __cdecl _set_printf_count_output(int _Value);
              _CRTIMP int __cdecl _get_printf_count_output(void);
            
            #ifndef _WSTDIO_DEFINED
            #define _WSTDIO_DEFINED
            
            /* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...);
            /* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vswscanf (const wchar_t * __restrict__ _Str,const wchar_t * __restrict__ Format,va_list argp);
            /* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_wscanf(const wchar_t * __restrict__ _Format,...);
            /* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_vwscanf(const wchar_t * __restrict__ Format, va_list argp);
            /* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
            /* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vfwscanf (FILE * __restrict__ fp, const wchar_t * __restrict__ Format,va_list argp);
            
            /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
            /* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_wprintf(const wchar_t * __restrict__ _Format,...);
            /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */__MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
            /*__attribute__((__format__ (gnu_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1)
              int __cdecl __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
            /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3)
              int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...);
            /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3)
              int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list);
            /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...);
            /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
              int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list);
            
            #if __USE_MINGW_ANSI_STDIO
            /*
             * User has expressed a preference for C99 conformance...
             */
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
            int swscanf(const wchar_t *__source, const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vswscanf( __source, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1)
            int wscanf(const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vwscanf( __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
            int fwscanf(FILE *__stream, const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vfwscanf( __stream, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
            int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv)
            {
              return __mingw_vswscanf( __source, __format, __local_argv );
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1)
            int vwscanf(const wchar_t *__format,  __builtin_va_list __local_argv)
            {
              return __mingw_vwscanf( __format, __local_argv );
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
            int vfwscanf (FILE *__stream,  const wchar_t *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vfwscanf( __stream, __format, __local_argv );
            }
            #endif /* __NO_ISOCEXT */
            
            
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2)
            int fwprintf (FILE *__stream, const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vfwprintf( __stream, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1)
            int wprintf (const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vwprintf( __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2)
            int vfwprintf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vfwprintf( __stream, __format, __local_argv );
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1)
            int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vwprintf( __format, __local_argv );
            }
            
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3)
            int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...)
            {
              register int __retval;
              __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
              __retval = __mingw_vsnwprintf( __stream, __n, __format, __local_argv );
              __builtin_va_end( __local_argv );
              return __retval;
            }
            
            __mingw_ovr
            /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3)
            int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv)
            {
              return __mingw_vsnwprintf( __stream, __n, __format, __local_argv );
            }
            #endif /* __NO_ISOCEXT */
            
            #else /* !__USE_MINGW_ANSI_STDIO */
            
              int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
              int __cdecl __ms_vwscanf (const wchar_t * __restrict__ , va_list);
              int __cdecl __ms_vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list);
              int __cdecl __ms_vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list);
            
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(2)
              int vfwscanf (FILE *__stream,  const wchar_t *__format, __builtin_va_list __local_argv)
              {
                return __ms_vfwscanf (__stream, __format, __local_argv);
              }
            
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(2)
              int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv)
              {
                return __ms_vswscanf( __source, __format, __local_argv );
              }
              __mingw_ovr
              __MINGW_ATTRIB_NONNULL(1)
              int vwscanf(const wchar_t *__format,  __builtin_va_list __local_argv)
              {
                return __ms_vwscanf (__format, __local_argv);
              }
            
            #endif /* __NO_ISOCEXT */
            
              int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
              int __cdecl wprintf(const wchar_t * __restrict__ _Format,...);
              int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
              int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
            #endif /* __USE_MINGW_ANSI_STDIO */
            
            #ifndef WEOF
            #define WEOF (wint_t)(0xFFFF)
            #endif
            
            #ifdef _POSIX_
              _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode);
            #else
              _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag);
            #endif
            
              wint_t __cdecl fgetwc(FILE *_File);
              _CRTIMP wint_t __cdecl _fgetwchar(void);
              wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File);
              _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
              wint_t __cdecl getwc(FILE *_File);
              wint_t __cdecl getwchar(void);
              wint_t __cdecl putwc(wchar_t _Ch,FILE *_File);
              wint_t __cdecl putwchar(wchar_t _Ch);
              wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File);
              wchar_t *__cdecl fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File);
              int __cdecl fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File);
              _CRTIMP wchar_t *__cdecl _getws(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              _CRTIMP int __cdecl _putws(const wchar_t *_Str);
            
              _CRTIMP int __cdecl _scwprintf(const wchar_t * __restrict__ _Format,...);
              _CRTIMP int __cdecl _swprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,...);
              _CRTIMP int __cdecl _vswprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,va_list _ArgList);
              _CRTIMP int __cdecl _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
            #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
            
            #if !defined (__USE_MINGW_ANSI_STDIO) || __USE_MINGW_ANSI_STDIO == 0
            #pragma push_macro("snwprintf")
            #pragma push_macro("vsnwprintf")
            # undef snwprintf
            # undef vsnwprintf
              int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...);
              int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list);
              __mingw_ovr
              int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...)
              {
                int r;
                va_list argp;
                __builtin_va_start (argp, format);
                r = _vsnwprintf (s, n, format, argp);
                __builtin_va_end (argp);
                return r;
              }
              __mingw_ovr
              int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg)
              {
                return _vsnwprintf(s,n,format,arg);
              }
            #pragma pop_macro ("vsnwprintf")
            #pragma pop_macro ("snwprintf")
            #endif
            
            #endif /* ! __NO_ISOCEXT */
              _CRTIMP int __cdecl _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...);
              _CRTIMP int __cdecl _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args);
            
            #ifndef RC_INVOKED
            #include <swprintf.inl>
            #endif
            
            #ifdef _CRT_NON_CONFORMING_SWPRINTFS
            #ifndef __cplusplus
            #define _swprintf_l __swprintf_l
            #define _vswprintf_l __vswprintf_l
            #endif
            #endif
            
              _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix);
              _CRTIMP int __cdecl _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
              _CRTIMP int __cdecl _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...);
              _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode);
              _CRTIMP FILE *__cdecl _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t *__restrict__  _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
              _CRTIMP FILE *__cdecl _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
            
            #ifndef _CRT_WPERROR_DEFINED
            #define _CRT_WPERROR_DEFINED
              _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg);
            #endif
              _CRTIMP FILE *__cdecl _wpopen(const wchar_t *_Command,const wchar_t *_Mode);
            #if !defined(NO_OLDNAMES) && !defined(wpopen)
            #define wpopen	_wpopen
            #endif
            
              _CRTIMP int __cdecl _wremove(const wchar_t *_Filename);
              _CRTIMP wchar_t *__cdecl _wtmpnam(wchar_t *_Buffer);
              _CRTIMP wint_t __cdecl _fgetwc_nolock(FILE *_File);
              _CRTIMP wint_t __cdecl _fputwc_nolock(wchar_t _Ch,FILE *_File);
              _CRTIMP wint_t __cdecl _ungetwc_nolock(wint_t _Ch,FILE *_File);
            
            #undef _CRT_GETPUTWCHAR_NOINLINE
            
            #if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE) || defined (__CRT__NO_INLINE)
            #define getwchar() fgetwc(stdin)
            #define putwchar(_c) fputwc((_c),stdout)
            #else
              __CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); }
              __CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) {return (fputwc(_C,stdout)); }
            #endif
            
            #define getwc(_stm) fgetwc(_stm)
            #define putwc(_c,_stm) fputwc(_c,_stm)
            #define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm)
            #define _getwc_nolock(_c) _fgetwc_nolock(_c)
            #endif
            
            #define _STDIO_DEFINED
            #endif
            
            #define _fgetc_nolock(_stream) (--(_stream)->_cnt >= 0 ? 0xff & *(_stream)->_ptr++ : _filbuf(_stream))
            #define _fputc_nolock(_c,_stream) (--(_stream)->_cnt >= 0 ? 0xff & (*(_stream)->_ptr++ = (char)(_c)) : _flsbuf((_c),(_stream)))
            #define _getc_nolock(_stream) _fgetc_nolock(_stream)
            #define _putc_nolock(_c,_stream) _fputc_nolock(_c,_stream)
            #define _getchar_nolock() _getc_nolock(stdin)
            #define _putchar_nolock(_c) _putc_nolock((_c),stdout)
            #define _getwchar_nolock() _getwc_nolock(stdin)
            #define _putwchar_nolock(_c) _putwc_nolock((_c),stdout)
            
              _CRTIMP void __cdecl _lock_file(FILE *_File);
              _CRTIMP void __cdecl _unlock_file(FILE *_File);
              _CRTIMP int __cdecl _fclose_nolock(FILE *_File);
              _CRTIMP int __cdecl _fflush_nolock(FILE *_File);
              _CRTIMP size_t __cdecl _fread_nolock(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
              _CRTIMP int __cdecl _fseek_nolock(FILE *_File,long _Offset,int _Origin);
              _CRTIMP long __cdecl _ftell_nolock(FILE *_File);
              __MINGW_EXTENSION _CRTIMP int __cdecl _fseeki64_nolock(FILE *_File,__int64 _Offset,int _Origin);
              __MINGW_EXTENSION _CRTIMP __int64 __cdecl _ftelli64_nolock(FILE *_File);
              _CRTIMP size_t __cdecl _fwrite_nolock(const void * __restrict__ _DstBuf,size_t _Size,size_t _Count,FILE * __restrict__ _File);
              _CRTIMP int __cdecl _ungetc_nolock(int _Ch,FILE *_File);
            
            #if !defined(NO_OLDNAMES) || !defined(_POSIX)
            #define P_tmpdir _P_tmpdir
            #define SYS_OPEN _SYS_OPEN
            
              char *__cdecl tempnam(const char *_Directory,const char *_FilePrefix) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl fcloseall(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              FILE *__cdecl fdopen(int _FileHandle,const char *_Format) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl fgetchar(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl fileno(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl flushall(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl fputchar(int _Ch) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl getw(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl putw(int _Ch,FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
              int __cdecl rmtmp(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
            #endif
            
            #ifndef __MINGW_MBWC_CONVERT_DEFINED
            #define __MINGW_MBWC_CONVERT_DEFINED
            
            /**
             * __mingw_str_wide_utf8
             * Converts a null terminated UCS-2 string to a multibyte (UTF-8) equivalent.
             * Caller is supposed to free allocated buffer with __mingw_str_free().
             * @param[in] wptr Pointer to wide string.
             * @param[out] mbptr Pointer to multibyte string.
             * @param[out] buflen Optional parameter for length of allocated buffer.
             * @return Number of characters converted, 0 for failure.
             *
             * WideCharToMultiByte - http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx
             */
            int __cdecl __mingw_str_wide_utf8 (const wchar_t * const wptr, char **mbptr, size_t * buflen);
            
            /**
             * __mingw_str_utf8_wide
             * Converts a null terminated UTF-8 string to a UCS-2 equivalent.
             * Caller is supposed to free allocated buffer with __mingw_str_free().
             * @param[out] mbptr Pointer to multibyte string.
             * @param[in] wptr Pointer to wide string.
             * @param[out] buflen Optional parameter for length of allocated buffer.
             * @return Number of characters converted, 0 for failure.
             *
             * MultiByteToWideChar - http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx
             */
            
            int __cdecl __mingw_str_utf8_wide (const char *const mbptr, wchar_t ** wptr, size_t * buflen);
            
            /**
             * __mingw_str_free
             * Frees buffer create by __mingw_str_wide_utf8 and __mingw_str_utf8_wide.
             * @param[in] ptr memory block to free.
             *
             */
            
            void __cdecl __mingw_str_free(void *ptr);
            
            #endif /* __MINGW_MBWC_CONVERT_DEFINED */
            
            #ifdef __cplusplus
            }
            #endif
            
            #pragma pack(pop)
            
            #include <sec_api/stdio_s.h>
            
            #include <_mingw_print_pop.h>
            
            #endif
            
            • @ 2025-1-16 21:36:17

              头文件库

              #include<iostream>
              // Standard iostream objects -*- C++ -*-
              
              // Copyright (C) 1997-2014 Free Software Foundation, Inc.
              //
              // This file is part of the GNU ISO C++ Library.  This library is free
              // software; you can redistribute it and/or modify it under the
              // terms of the GNU General Public License as published by the
              // Free Software Foundation; either version 3, or (at your option)
              // any later version.
              
              // This library is distributed in the hope that it will be useful,
              // but WITHOUT ANY WARRANTY; without even the implied warranty of
              // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
              // GNU General Public License for more details.
              
              // Under Section 7 of GPL version 3, you are granted additional
              // permissions described in the GCC Runtime Library Exception, version
              // 3.1, as published by the Free Software Foundation.
              
              // You should have received a copy of the GNU General Public License and
              // a copy of the GCC Runtime Library Exception along with this program;
              // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
              // <http://www.gnu.org/licenses/>.
              
              /** @file include/iostream
               *  This is a Standard C++ Library header.
               */
              
              //
              // ISO C++ 14882: 27.3  Standard iostream objects
              //
              
              #ifndef _GLIBCXX_IOSTREAM
              #define _GLIBCXX_IOSTREAM 1
              
              #pragma GCC system_header
              
              #include <bits/c++config.h>
              #include <ostream>
              #include <istream>
              
              namespace std _GLIBCXX_VISIBILITY(default)
              {
              _GLIBCXX_BEGIN_NAMESPACE_VERSION
              
                /**
                 *  @name Standard Stream Objects
                 *
                 *  The &lt;iostream&gt; header declares the eight <em>standard stream
                 *  objects</em>.  For other declarations, see
                 *  http://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html
                 *  and the @link iosfwd I/O forward declarations @endlink
                 *
                 *  They are required by default to cooperate with the global C
                 *  library's @c FILE streams, and to be available during program
                 *  startup and termination. For more information, see the section of the
                 *  manual linked to above.
                */
                //@{
                extern istream cin;		/// Linked to standard input
                extern ostream cout;		/// Linked to standard output
                extern ostream cerr;		/// Linked to standard error (unbuffered)
                extern ostream clog;		/// Linked to standard error (buffered)
              
              #ifdef _GLIBCXX_USE_WCHAR_T
                extern wistream wcin;		/// Linked to standard input
                extern wostream wcout;	/// Linked to standard output
                extern wostream wcerr;	/// Linked to standard error (unbuffered)
                extern wostream wclog;	/// Linked to standard error (buffered)
              #endif
                //@}
              
                // For construction of filebuffers for cout, cin, cerr, clog et. al.
                static ios_base::Init __ioinit;
              
              _GLIBCXX_END_NAMESPACE_VERSION
              } // namespace
              
              #endif /* _GLIBCXX_IOSTREAM */
              using namespace std;
              int a,b; 
              int main(){
              	cin>>a>>b;
              	if(a>b){
              		cout<<">";
              	}
              	else if(a<b){
              		cout<<"<";
              	}
              	else{
              		cout<<"=";
              	}
              	return 0; 
              }
              
              • 1