Language: C++

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;
typedef vector<pii> vpii;
typedef vector<vpii> vvpii;

#define mt make_tuple
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sqr(x) ((ll)(x) * (x))

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    ll a, b;
    cin >> a >> b;

    ll nzd = __gcd(a, b);

    vi v;

    for(int i = 2; i * i <= nzd; ++i)
    {
        bool jelUsao = false;

        if(nzd % i == 0)
        {
            nzd /= (int)pow((double)i, log)
        }

        if(jelUsao)v.pb(i);
    }

    if(nzd > 1)v.pb(nzd);

    cout << 1LL + (ll)v.size() << '\n';

    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:39:28: error: no matching function for call to 'pow(double, <unresolved overloaded function type>)'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/valarray:605,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:166,
                 from a.cc:1:
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_Constant, std::_ValArray, _Tp, _Tp>, _Tp> std::pow(const typename valarray<_Tp>::value_type&, const valarray<_Tp>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::valarray<_Tp>' and 'float(float)'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
a.cc:39:28: note:   mismatched types 'const std::valarray<_Tp>' and 'long double(long double)'
a.cc:39:28: note:   mismatched types 'const std::valarray<_Tp>' and 'double(double) noexcept'
a.cc:39:28: note:   couldn't deduce template parameter '_Tp'
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_ValArray, std::_Constant, _Tp, _Tp>, _Tp> std::pow(const valarray<_Tp>&, const typename valarray<_Tp>::value_type&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::valarray<_Tp>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_ValArray, std::_ValArray, _Tp, _Tp>, _Tp> std::pow(const valarray<_Tp>&, const valarray<_Tp>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::valarray<_Tp>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename _Dom::value_type> std::pow(const typename _Dom::value_type&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'float(float)'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'long double(long double)'
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'double(double) noexcept'
a.cc:39:28: note:   couldn't deduce template parameter '_Dom'
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename _Dom::value_type> std::pow(const _Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename _Dom::value_type> std::pow(const valarray<typename _Dom::valarray>&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'float(float)'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'long double(long double)'
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'double(double) noexcept'
a.cc:39:28: note:   couldn't deduce template parameter '_Dom'
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename _Dom::value_type> std::pow(const _Expr<_Dom1, typename _Dom1::value_type>&, const valarray<typename _Dom::value_type>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::_Pow, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename _Dom1::value_type> std::pow(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)'
  549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, struct std::_Pow)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:549:1: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127:
/usr/include/c++/14/complex:2482:5: note: candidate: 'template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote<decltype (((typename __gnu_cxx::__promote<_Tp, std::__is_integer<_Tp>::__value>::__type)(0) + (typename __gnu_cxx::__promote<_Up, std::__is_integer<_Up>::__value>::__type)(0)))>::__type> std::pow(const complex<_Tp>&, const complex<_Up>&)'
 2482 |     pow(const std::complex<_Tp>& __x, const std::complex<_Up>& __y)
      |     ^~~
/usr/include/c++/14/complex:2482:5: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::complex<_Tp>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/complex:2474:5: note: candidate: 'template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote<decltype (((typename __gnu_cxx::__promote<_Tp, std::__is_integer<_Tp>::__value>::__type)(0) + (typename __gnu_cxx::__promote<_Up, std::__is_integer<_Up>::__value>::__type)(0)))>::__type> std::pow(const _Tp&, const complex<_Up>&)'
 2474 |     pow(const _Tp& __x, const std::complex<_Up>& __y)
      |     ^~~
/usr/include/c++/14/complex:2474:5: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::complex<_Up>' and 'float(float)'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
a.cc:39:28: note:   mismatched types 'const std::complex<_Up>' and 'long double(long double)'
a.cc:39:28: note:   mismatched types 'const std::complex<_Up>' and 'double(double) noexcept'
a.cc:39:28: note:   couldn't deduce template parameter '_Up'
/usr/include/c++/14/complex:2466:5: note: candidate: 'template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote<decltype (((typename __gnu_cxx::__promote<_Tp, std::__is_integer<_Tp>::__value>::__type)(0) + (typename __gnu_cxx::__promote<_Up, std::__is_integer<_Up>::__value>::__type)(0)))>::__type> std::pow(const complex<_Tp>&, const _Up&)'
 2466 |     pow(const std::complex<_Tp>& __x, const _Up& __y)
      |     ^~~
/usr/include/c++/14/complex:2466:5: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::complex<_Tp>' and 'double'
   39 |             nzd /= (int)pow((double)i, log)
      |                         ~~~^~~~~~~~~~~~~~~~
/usr/include/c++/14/complex:1339:5: note: candidate: 'std::complex<_Tp> std::pow(const _Tp&, const complex<_Tp>&) [with _Tp = double]'
 1339 |     pow(const _Tp& __x, const complex<_Tp>& __y)
      |     ^~~
/usr/include/c++/14/complex:1339:45: note:   no known conversion for argument 2 from '<unresolved overloaded function type>' to 'const std::complex<double>&'
 1339 |     pow(const _Tp& __x, const complex<_Tp>& __y)
      |                         ~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/14/complex:1328:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::pow(const complex<_Tp>&, const complex<_Tp>&)'
 1328 |     pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
      |     ^~~
/usr/include/c++/14/complex:1328:5: note:   template argument deduction/substitution failed:
a.cc:39:28: note:   mismatched types 'const std::complex<_Tp>' a