/in/foo.cc: In function 'int main()':
/in/foo.cc:69:21: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
69 | auto egcd = [&](auto self, long long a, long long b, long long &x, long long &y) -> long long {
| ^~~~
/in/foo.cc: In lambda function:
/in/foo.cc:72:27: error: 'self' cannot be used as a function
72 | long long g = self(self, b, a % b, x1, y1);
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:79:27: error: no match for call to '(main()::<lambda(int, long long int, long long int, long long int&, long long int&)>) (main()::<lambda(int, long long int, long long int, long long int&, long long int&)>&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, int&, long long int&, long long int&)'
79 | long long g = egcd(egcd, primes[i], p, x, y);
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc:69:17: note: candidate: 'main()::<lambda(int, long long int, long long int, long long int&, long long int&)>'
69 | auto egcd = [&](auto self, long long a, long long b, long long &x, long long &y) -> long long {
| ^
/in/foo.cc:69:17: note: no known conversion for argument 1 from 'main()::<lambda(int, long long int, long long int, long long int&, long long int&)>' to 'int'
/in/foo.cc:171:38: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
171 | [](auto &a, auto &b){ return a.first < b.first; });
| ^~~~
/in/foo.cc:171:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
171 | [](auto &a, auto &b){ return a.first < b.first; });
| ^~~~
/in/foo.cc: In lambda function:
/in/foo.cc:171:66: error: request for member 'first' in 'a', which is of non-class type 'int'
171 | [](auto &a, auto &b){ return a.first < b.first; });
| ^~~~~
/in/foo.cc:171:76: error: request for member 'first' in 'b', which is of non-class type 'int'
171 | [](auto &a, auto &b){ return a.first < b.first; });
| ^~~~~
In file included from /usr/include/c++/12/bits/stl_algobase.h:71,
from /usr/include/c++/12/string:50,
from /usr/include/c++/12/bits/locale_classes.h:40,
from /usr/include/c++/12/bits/ios_base.h:41,
from /usr/include/c++/12/ios:42,
from /usr/include/c++/12/ostream:38,
from /usr/include/c++/12/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Value = const std::pair<int, int>; _Compare = main()::<lambda(int&, int&)>]':
/usr/include/c++/12/bits/stl_algobase.h:1463:14: required from '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Tp = pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_val<main()::<lambda(int&, int&)> >]'
/usr/include/c++/12/bits/stl_algo.h:2004:32: required from '_FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Tp = pair<int, int>; _Compare = main()::<lambda(int&, int&)>]'
/in/foo.cc:169:34: required from here
/usr/include/c++/12/bits/predefined_ops.h:196:30: error: no match for call to '(main()::<lambda(int&, int&)>) (std::pair<int, int>&, const std::pair<int, int>&)'
196 | { return bool(_M_comp(*__it, __val)); }
| ~~~~~~~^~~~~~~~~~~~~~
/in/foo.cc:171:35: note: candidate: 'main()::<lambda(int&, int&)>'
171 | [](auto &a, auto &b){ return a.first < b.first; });
| ^
/in/foo.cc:171:35: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'int&'