foo.cc:41:22: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
41 | const i64 inv2 = (cht+1>>1);
| ^
foo.cc: In function 'void Subtask1::solve()':
foo.cc:62:37: error: no matching function for call to 'std::vector<std::array<long long int, 3> >::push_back(<brace-enclosed initializer list>)'
62 | F(i,1,m)eg.push_back({z[i],x[i],y[i]});
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/vector:66,
from /nix/gcc-13.3.0/include/c++/13.3.0/queue:63,
from foo.cc:4:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:1281:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >; value_type = std::array<long long int, 3>]'
1281 | push_back(const value_type& __x)
| ^~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:1281:35: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::vector<std::array<long long int, 3> >::value_type&' {aka 'const std::array<long long int, 3>&'}
1281 | push_back(const value_type& __x)
| ~~~~~~~~~~~~~~~~~~^~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:1298:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >; value_type = std::array<long long int, 3>]'
1298 | push_back(value_type&& __x)
| ^~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:1298:30: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<std::array<long long int, 3> >::value_type&&' {aka 'std::array<long long int, 3>&&'}
1298 | push_back(value_type&& __x)
| ~~~~~~~~~~~~~^~~
foo.cc:65:25: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
65 | for(auto[w,u,v]:eg){
| ^
foo.cc:65:25: error: deduced type 'std::array<long long int, 3>' for '<structured bindings>' is incomplete
65 | for(auto[w,u,v]:eg){
| ^~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:63,
from /nix/gcc-13.3.0/include/c++/13.3.0/map:63,
from foo.cc:1:
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
foo.cc:67:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
67 | if(u==v)continue;fa[u]=v;sum+=w;
| ^~
foo.cc:67:42: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
67 | if(u==v)continue;fa[u]=v;sum+=w;
| ^~
foo.cc:76:40: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
76 | F(i,1,m)if(s>>i-1&1)
| ~^~
foo.cc:81:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
81 | if(!flag)continue;vis[s]=1;
| ^~
foo.cc:81:43: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
81 | if(!flag)continue;vis[s]=1;
| ^~~
foo.cc:83:40: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
83 | F(i,1,m)F(s,0,S)if(s>>i-1&1)
| ~^~
foo.cc:84:44: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
84 | vis[s]|=vis[s^(1<<i-1)];
| ~^~
foo.cc: In function 'void Subtask2::solve()':
foo.cc:19:17: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
19 | #define F(i,j,n)for(register int i=j;i<=n;i++)
| ^~~
foo.cc:99:17: note: in expansion of macro 'F'
99 | F(i,0,n-1)G[i].clear();mem(ve,0);
| ^
foo.cc:18:20: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
18 | #define mem(x,val) memset(x,val,sizeof x)
| ^~~~~~
foo.cc:99:40: note: in expansion of macro 'mem'
99 | F(i,0,n-1)G[i].clear();mem(ve,0);
| ^~~
foo.cc:103:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
103 | if(fu==fv)continue;fa[fu]=fv;i64 u=::u[i],v=::v[i];
| ^~
foo.cc:103:44: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
103 | if(fu==fv)continue;fa[fu]=fv;i64 u=::u[i],v=::v[i];
| ^~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h: In instantiation of 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:531:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:370:49: error: invalid use of incomplete type 'struct std::array<long long int, 3>'
370 | _M_impl._M_end_of_storage - _M_impl._M_start);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:67,
from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:63,
from /nix/gcc-13.3.0/include/c++/13.3.0/map:62:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h: In instantiation of '__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator++() [with _Iterator = std::array<long long int, 3>*; _Container = std::vector<std::array<long long int, 3> >]':
foo.cc:65:19: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1111:11: error: cannot increment a pointer to incomplete type 'std::array<long long int, 3>'
1111 | ++_M_current;
| ^~~~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:60,
from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:64:
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits: In instantiation of 'struct std::is_destructible<std::array<long long int, 3> >':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:188:51: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = array<long long int, 3>*]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:948:20: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, allocator<_T2>&) [with _ForwardIterator = array<long long int, 3>*; _Tp = array<long long int, 3>]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:735:15: required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >]'
foo.cc:61:24: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:979:52: error: static assertion failed: template argument must be a complete class or an unbounded array
979 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:979:52: note: 'std::__is_complete_or_unbounded<__type_identity<array<long long int, 3> > >((std::__type_identity<std::array<long long int, 3> >(), std::__type_identity<std::array<long long int, 3> >()))' evaluates to false
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:33,
from /nix/gcc-13.3.0/include/c++/13.3.0/ext/alloc_traits.h:34,
from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:67:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h: In instantiation of 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = array<long long int, 3>*]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:948:20: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, allocator<_T2>&) [with _ForwardIterator = array<long long int, 3>*; _Tp = array<long long int, 3>]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:735:15: required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >]'
foo.cc:61:24: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible
188 | static_assert(is_destructible<_Value_type>::value,
| ^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:188:51: note: 'std::integral_constant<bool, false>::value' evaluates to false
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:195:25: error: invalid use of incomplete type 'std::iterator_traits<std::array<long long int, 3>*>::value_type' {aka 'struct std::array<long long int, 3>'} [-fpermissive]
195 | std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'std::iterator_traits<std::array<long long int, 3>*>::value_type' {aka 'struct std::array<long long int, 3>'}
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h: In instantiation of 'typename __gnu_cxx::__normal_iterator<_Iterator, _Container>::difference_type __gnu_cxx::operator-(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&) [with _Iterator = std::array<long long int, 3>*; _Container = std::vector<std::array<long long int, 3> >; typename __normal_iterator<_Iterator, _Container>::difference_type = long int]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1948:22: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1337:27: error: invalid use of incomplete type 'struct std::array<long long int, 3>'
1337 | { return __lhs.base() - __rhs.base(); }
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/c++allocator.h:33,
from /nix/gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:46,
from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:64:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h: In instantiation of 'void std::__new_allocator<_Tp>::deallocate(_Tp*, size_type) [with _Tp = std::array<long long int, 3>; size_type = long unsigned int]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:23: required from 'static void std::allocator_traits<std::allocator<_Tp1> >::deallocate(allocator_type&, pointer, size_type) [with _Tp = std::array<long long int, 3>; allocator_type = std::allocator<std::array<long long int, 3> >; pointer = std::array<long long int, 3>*; size_type = long unsigned int]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:390:19: required from 'void std::_Vector_base<_Tp, _Alloc>::_M_deallocate(pointer, std::size_t) [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >; pointer = std::array<long long int, 3>*; std::size_t = long unsigned int]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:369:2: required from 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::array<long long int, 3>; _Alloc = std::allocator<std::array<long long int, 3> >]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:531:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:34: error: invalid application of 'sizeof' to incomplete type 'std::array<long long int, 3>'
172 | _GLIBCXX_OPERATOR_DELETE(_GLIBCXX_SIZED_DEALLOC(__p, __n));
| ^~~~~~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h: In instantiation of '__gnu_cxx::__normal_iterator<_Iterator, _Container> __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator+(difference_type) const [with _Iterator = std::array<long long int, 3>*; _Container = std::vector<std::array<long long int, 3> >; difference_type = long int]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1859:43: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1950:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1148:45: error: invalid use of incomplete type 'struct std::array<long long int, 3>'
1148 | { return __normal_iterator(_M_current + __n); }
| ~~~~~~~~~~~^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/algorithm:61,
from foo.cc:11:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1859:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1950:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1822:17: error: 'std::__iterator_traits<__gnu_cxx::__normal_iterator<std::array<long long int, 3>*, std::vector<std::array<long long int, 3> > >, void>::value_type __val' has incomplete type
1822 | __val = _GLIBCXX_MOVE(*__i);
| ^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h: In instantiation of '__gnu_cxx::__normal_iterator<_Iterator, _Container> __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-(difference_type) const [with _Iterator = std::array<long long int, 3>*; _Container = std::vector<std::array<long long int, 3> >; difference_type = long int]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1897:71: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1931:38: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1158:45: error: invalid use of incomplete type 'struct std::array<long long int, 3>'
1158 | { return __normal_iterator(_M_current - __n); }
| ~~~~~~~~~~~^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:71:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = __gnu_cxx::__normal_iterator<std::array<long long int, 3>*, std::vector<std::array<long long int, 3> > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::array<long long int, 3>*, std::vector<std::array<long long int, 3> > >]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1819:14: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1859:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1950:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: error: no match for 'operator<' (operand types are 'std::array<long long int, 3>' and 'std::array<long long int, 3>')
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1250:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)'
1250 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1250:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1258:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)'
1258 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1258:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:835:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator<(const pair<_T1, _T2>&, const pair<_T1, _T2>&)'
835 | operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:835:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::pair<_T1, _T2>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:455:5: note: candidate: 'template<class _Iterator> bool std::operator<(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)'
455 | operator<(const reverse_iterator<_Iterator>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:455:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::reverse_iterator<_Iterator>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:500:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator<(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
500 | operator<(const reverse_iterator<_IteratorL>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:500:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::reverse_iterator<_Iterator>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1705:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator<(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
1705 | operator<(const move_iterator<_IteratorL>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1705:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::move_iterator<_IteratorL>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1770:5: note: candidate: 'template<class _Iterator> bool std::operator<(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)'
1770 | operator<(const move_iterator<_Iterator>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1770:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::move_iterator<_IteratorL>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:1961:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator<(const tuple<_Args1 ...>&, const tuple<_Args2 ...>&)'
1961 | operator<(const tuple<_TElements...>& __t,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:1961:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::tuple<_Args1 ...>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1551:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const map<_Key, _Tp, _Compare, _Alloc>&, const map<_Key, _Tp, _Compare, _Alloc>&)'
1551 | operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1551:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/map:64:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multimap.h:1172:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const multimap<_Key, _Tp, _Compare, _Alloc>&, const multimap<_Key, _Tp, _Compare, _Alloc>&)'
1172 | operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multimap.h:1172:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/set:63,
from foo.cc:2:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:1025:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const set<_Key, _Compare, _Alloc>&, const set<_Key, _Compare, _Alloc>&)'
1025 | operator<(const set<_Key, _Compare, _Alloc>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:1025:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/set:64:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multiset.h:1011:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const multiset<_Key, _Compare, _Alloc>&, const multiset<_Key, _Compare, _Alloc>&)'
1011 | operator<(const multiset<_Key, _Compare, _Alloc>& __x,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multiset.h:1011:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/deque:66,
from /nix/gcc-13.3.0/include/c++/13.3.0/queue:62:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_deque.h:2330:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const deque<_Tp, _Alloc>&, const deque<_Tp, _Alloc>&)'
2330 | operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_deque.h:2330:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::deque<_Tp, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:2079:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&)'
2079 | operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:2079:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::vector<_Tp, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/queue:66:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:399:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&)'
399 | operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:399:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::queue<_Tp, _Seq>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/string:54,
from /nix/gcc-13.3.0/include/c++/13.3.0/bitset:52,
from foo.cc:5:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3829:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
3829 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3829:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3843:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)'
3843 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3843:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: 'std::array<long long int, 3>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3856:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
3856 | operator<(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3856:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/predefined_ops.h:45:23: note: mismatched types 'const _CharT*' and 'std::array<long long int, 3>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/ios_base.h:46,
from /nix/gcc-13.3.0/include/c++/13.3.0/ios:44,
from /nix/gcc-13.3.0/include/c++/13.3.0/ostream:40,
from /nix/gcc-13.3.0/include/c++/13.3.0/iostream:41,
from foo.cc:10:
/nix/gcc-13.3.0/include/c++/13.3.0/system_error:324:3: note: candidate: 'bool std::operator<(const error_code&, const error_code&)'
324 | operator<(const error_code& __lhs, const error_code& __rhs) noexcept
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/system_error:324:31: note: no known conversion for argument 1 from 'std::array<long long int, 3>' to 'const std::error_code&'
324 | operator<(const error_code& __lhs, const error_code& __rhs) noexcept
| ~~~~~~~~~~~~~~~~~~^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/system_error:507:3: note: candidate: 'bool std::operator<(const error_condition&, const error_condition&)'
507 | operator<(const error_condition& __lhs,
| ^~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/system_error:507:36: note: no known conversion for argument 1 from 'std::array<long long int, 3>' to 'const std::error_condition&'
507 | operator<(const error_condition& __lhs,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/queue:64:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h: In instantiation of 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1635:23: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1910:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1926:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h:355:22: error: '_ValueType __value' has incomplete type
355 | _ValueType __value = _GLIBCXX_MOVE(*(__first + __parent));
| ^~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h: In instantiation of 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1638:19: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1910:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1926:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h:262:18: error: '_ValueType __value' has incomplete type
262 | _ValueType __value = _GLIBCXX_MOVE(*__result);
| ^~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h:263:17: error: invalid use of incomplete type 'struct std::array<long long int, 3>'
263 | *__result = _GLIBCXX_MOVE(*__first);
| ^
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h: In instantiation of '__gnu_cxx::__normal_iterator<_Iterator, _Container>& __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator--() [with _Iterator = std::array<long long int, 3>*; _Container = std::vector<std::array<long long int, 3> >]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_heap.h:424:4: required from 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1911:23: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1926:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:1125:11: error: cannot decrement a pointer to incomplete type 'std::array<long long int, 3>'
1125 | --_M_current;
| ^~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits: In substitution of 'template<class _Tp, class ... _Args> using std::__is_constructible_impl = std::__bool_constant<__is_constructible(_Tp, _Args ...)> [with _Tp = std::array<long long int, 3>; _Args = {std::array<long long int, 3>&&}]':
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:1098:12: required from 'struct std::is_move_constructible<std::array<long long int, 3> >'
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:161:35: required by substitution of 'template<class ... _Bn> std::__detail::__first_t<std::integral_constant<bool, true>, typename std::enable_if<(bool)(_Bn::value), void>::type ...> std::__detail::__and_fn(int) [with _Bn = {std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> >}]'
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:177:42: required from 'struct std::__and_<std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> > >'
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:2224:11: required by substitution of 'template<class ... _Cond> using std::_Require = std::__enable_if_t<std::__and_<_Bn>::value> [with _Cond = {std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> >}]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:189:5: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:91:20: required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1897:34: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1931:38: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:1040:25: error: invalid use of incomplete type 'struct std::array<long long int, 3>' [-fpermissive]
1040 | = __bool_constant<__is_constructible(_Tp, _Args...)>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2019:45: note: declaration of 'struct std::array<long long int, 3>'
2019 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits: In instantiation of 'struct std::is_move_constructible<std::array<long long int, 3> >':
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:161:35: required by substitution of 'template<class ... _Bn> std::__detail::__first_t<std::integral_constant<bool, true>, typename std::enable_if<(bool)(_Bn::value), void>::type ...> std::__detail::__and_fn(int) [with _Bn = {std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> >}]'
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:177:42: required from 'struct std::__and_<std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> > >'
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:2224:11: required by substitution of 'template<class ... _Cond> using std::_Require = std::__enable_if_t<std::__and_<_Bn>::value> [with _Cond = {std::__not_<std::__is_tuple_like<std::array<long long int, 3> > >, std::is_move_constructible<std::array<long long int, 3> >, std::is_move_assignable<std::array<long long int, 3> >}]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:189:5: required by substitution of 'template<class _Tp> std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = std::array<long long int, 3>]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: required from 'void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _ForwardIterator2 = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:91:20: required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1897:34: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1931:38: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:1101:52: error: static assertion failed: template argument must be a complete class or an unbounded array
1101 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/type_traits:1101:52: note: 'std::__is_complete_or_unbounded<__type_identity<array<long long int, 3> > >((std::__type_identity<std::array<long long int, 3> >(), std::__type_identity<std::array<long long int, 3> >()))' evaluates to false
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h: In instantiation of 'void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _ForwardIterator2 = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]':
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:91:20: required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1897:34: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1931:38: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:1947:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algo.h:4861:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<array<long long int, 3>*, vector<array<long long int, 3> > >]'
foo.cc:63:7: required from here
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: error: no matching function for call to 'swap(std::array<long long int, 3>&, std::array<long long int, 3>&)'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/exception:164,
from /nix/gcc-13.3.0/include/c++/13.3.0/ios:41:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/exception_ptr.h:230:5: note: candidate: 'void std::__exception_ptr::swap(exception_ptr&, exception_ptr&)'
230 | swap(exception_ptr& __lhs, exception_ptr& __rhs)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/exception_ptr.h:230:25: note: no known conversion for argument 1 from 'std::array<long long int, 3>' to 'std::__exception_ptr::exception_ptr&'
230 | swap(exception_ptr& __lhs, exception_ptr& __rhs)
| ~~~~~~~~~~~~~~~^~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:61:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:189:5: note: candidate: 'template<class _Tp> std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)'
189 | swap(_Tp& __a, _Tp& __b)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:189:5: note: substitution of deduced template arguments resulted in errors seen above
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:213:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> std::__enable_if_t<std::__is_swappable<_Tp>::value> std::swap(_Tp (&)[_Nm], _Tp (&)[_Nm])'
213 | swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/move.h:213:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: mismatched types '_Tp [_Nm]' and 'std::array<long long int, 3>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:879:5: note: candidate: 'template<class _T1, class _T2> void std::swap(pair<_T1, _T2>&, pair<_T1, _T2>&)'
879 | swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_pair.h:879:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::pair<_T1, _T2>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
In file included from /nix/gcc-13.3.0/include/c++/13.3.0/functional:59,
from foo.cc:38:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:776:5: note: candidate: 'template<class _Res, class ... _Args> void std::swap(function<_Res(_ArgTypes ...)>&, function<_Res(_ArgTypes ...)>&)'
776 | swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:776:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::function<_Res(_ArgTypes ...)>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3994:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> void std::swap(__cxx11::basic_string<_CharT, _Traits, _Alloc>&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
3994 | swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3994:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:836:5: note: candidate: 'template<class _Tp, class _Sequence, class _Compare> void std::swap(priority_queue<_Tp, _Sequence, _Compare>&, priority_queue<_Tp, _Sequence, _Compare>&)'
836 | swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:836:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::priority_queue<_Tp, _Sequence, _Compare>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:447:5: note: candidate: 'template<class _Tp, class _Seq> void std::swap(queue<_Tp, _Seq>&, queue<_Tp, _Seq>&)'
447 | swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_queue.h:447:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::queue<_Tp, _Seq>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:2112:5: note: candidate: 'template<class _Tp, class _Alloc> void std::swap(vector<_Tp, _Alloc>&, vector<_Tp, _Alloc>&)'
2112 | swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_vector.h:2112:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::vector<_Tp, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_deque.h:2366:5: note: candidate: 'template<class _Tp, class _Alloc> void std::swap(deque<_Tp, _Alloc>&, deque<_Tp, _Alloc>&)'
2366 | swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_deque.h:2366:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::deque<_Tp, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multiset.h:1047:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> void std::swap(multiset<_Key, _Compare, _Alloc>&, multiset<_Key, _Compare, _Alloc>&)'
1047 | swap(multiset<_Key, _Compare, _Alloc>& __x,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multiset.h:1047:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::multiset<_Key, _Compare, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:1061:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> void std::swap(set<_Key, _Compare, _Alloc>&, set<_Key, _Compare, _Alloc>&)'
1061 | swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:1061:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::set<_Key, _Compare, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multimap.h:1208:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> void std::swap(multimap<_Key, _Tp, _Compare, _Alloc>&, multimap<_Key, _Tp, _Compare, _Alloc>&)'
1208 | swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_multimap.h:1208:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::multimap<_Key, _Tp, _Compare, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1587:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> void std::swap(map<_Key, _Tp, _Compare, _Alloc>&, map<_Key, _Tp, _Compare, _Alloc>&)'
1587 | swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1587:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::map<_Key, _Tp, _Compare, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2183:5: note: candidate: 'template<class ... _Elements> void std::swap(tuple<_Args1 ...>&, tuple<_Args1 ...>&)'
2183 | swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/tuple:2183:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::tuple<_Args1 ...>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1679:5: note: candidate: 'template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> void std::swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)'
1679 | swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
| ^~~~
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1679:5: note: template argument deduction/substitution failed:
/nix/gcc-13.3.0/include/c++/13.3.0/bits/stl_algobase.h:185:11: note: 'std::array<long long int, 3>' is not derived from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
185 | swap(*__a, *__b);
| ~~~~^~~~~~~~~~~~