In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/string:40,
from /usr/include/c++/7/stdexcept:39,
from /usr/include/c++/7/array:39,
from /usr/include/c++/7/tuple:39,
from /in/kdtree.hpp:1,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]':
/usr/include/c++/7/bits/stl_algo.h:2487:14: required from 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2772:34: required from 'void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5006:28: required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5077:36: required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]'
/in/kdtree.hpp:413:25: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/usr/include/c++/7/bits/predefined_ops.h:143:18: error: invalid initialization of reference of type 'const std::tuple<int, int, int>&' from expression of type 'std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >'
{ return bool(_M_comp(*__it1, *__it2)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Iterator2 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]':
/usr/include/c++/7/bits/stl_algo.h:2310:14: required from 'void std::__move_merge_adaptive(_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) [with _InputIterator1 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _InputIterator2 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _OutputIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2425:30: required from 'void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Distance = long int; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2751:28: required from 'void std::__stable_sort_adaptive(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5008:29: required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5077:36: required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]'
/in/kdtree.hpp:413:25: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/usr/include/c++/7/bits/predefined_ops.h:143:18: error: invalid initialization of reference of type 'const std::tuple<int, int, int>&' from expression of type 'std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >'
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]':
/usr/include/c++/7/bits/stl_algo.h:2349:14: required from 'void std::__move_merge_adaptive_backward(_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator2, _BidirectionalIterator2, _BidirectionalIterator3, _Compare) [with _BidirectionalIterator1 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _BidirectionalIterator2 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _BidirectionalIterator3 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2431:39: required from 'void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Distance = long int; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2751:28: required from 'void std::__stable_sort_adaptive(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5008:29: required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5077:36: required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]'
/in/kdtree.hpp:413:25: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/usr/include/c++/7/bits/predefined_ops.h:143:18: error: invalid initialization of reference of type 'const std::tuple<int, int, int>&' from expression of type 'std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >'
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >; _Iterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]':
/usr/include/c++/7/bits/stl_algo.h:1828:20: required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:1855:36: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2766:25: required from 'void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5006:28: required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5077:36: required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]'
/in/kdtree.hpp:413:25: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/usr/include/c++/7/bits/predefined_ops.h:215:11: error: invalid initialization of reference of type 'const std::tuple<int, int, int>&' from expression of type 'std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >'
{ return bool(_M_comp(__val, *__it)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Iterator2 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]':
/usr/include/c++/7/bits/stl_algo.h:2645:14: required from '_OutputIterator std::__move_merge(_InputIterator, _InputIterator, _InputIterator, _InputIterator, _OutputIterator, _Compare) [with _InputIterator = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _OutputIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2674:32: required from 'void std::__merge_sort_loop(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _Distance, _Compare) [with _RandomAccessIterator1 = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _RandomAccessIterator2 = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2723:26: required from 'void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:2748:33: required from 'void std::__stable_sort_adaptive(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Pointer = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5008:29: required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)>]'
/usr/include/c++/7/bits/stl_algo.h:5077:36: required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >; _Compare = bool (*)(const std::tuple<int, int, int>&, const std::tuple<int, int, int>&, std::less<void>)]'
/in/kdtree.hpp:413:25: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/usr/include/c++/7/bits/predefined_ops.h:143:18: error: invalid initialization of reference of type 'const std::tuple<int, int, int>&' from expression of type 'std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >'
{ return bool(_M_comp(*__it1, *__it2)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&