运行 ID: 134827

Main.cc: In function ‘int HoareSort(int*, int, int)’:
Main.cc:16:27: error: no matching function for call to ‘swap(int*, int*)’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/sstream:796:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&)
     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:796:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/sstream:803:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:803:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/sstream:810:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:810:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/sstream:817:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:817:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/regex:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
                 from Main.cc:1:
/usr/include/c++/7/bits/regex.h:847:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::basic_regex<_Ch_type, _Rx_traits>&, std::__cxx11::basic_regex<_Ch_type, _Rx_traits>&)
     swap(basic_regex<_Ch_type, _Rx_traits>& __lhs,
     ^~~~
/usr/include/c++/7/bits/regex.h:847:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_regex<_Ch_type, _Rx_traits>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/regex:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
                 from Main.cc:1:
/usr/include/c++/7/bits/regex.h:2000:5: note: candidate: template void std::__cxx11::swap(std::__cxx11::match_results<_BiIter, _Alloc>&, std::__cxx11::match_results<_BiIter, _Alloc>&)
     swap(match_results<_Bi_iter, _Alloc>& __lhs,
     ^~~~
/usr/include/c++/7/bits/regex.h:2000:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::match_results<_BiIter, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/unordered_set:48:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:118,
                 from Main.cc:1:
/usr/include/c++/7/bits/unordered_set.h:1528:5: note: candidate: template void std::swap(std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>&, std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>&)
     swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_set.h:1528:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/unordered_set:48:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:118,
                 from Main.cc:1:
/usr/include/c++/7/bits/unordered_set.h:1521:5: note: candidate: template void std::swap(std::unordered_set<_Value, _Hash, _Pred, _Alloc>&, std::unordered_set<_Value, _Hash, _Pred, _Alloc>&)
     swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_set.h:1521:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
                 from Main.cc:1:
/usr/include/c++/7/bits/unordered_map.h:1897:5: note: candidate: template void std::swap(std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&, std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&)
     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_map.h:1897:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117,
                 from Main.cc:1:
/usr/include/c++/7/bits/unordered_map.h:1890:5: note: candidate: template void std::swap(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&)
     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_map.h:1890:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from Main.cc:1:
/usr/include/c++/7/future:1579:5: note: candidate: template void std::swap(std::packaged_task<_Res(_ArgTypes ...)>&, std::packaged_task<_Res(_ArgTypes ...)>&)
     swap(packaged_task<_Res(_ArgTypes...)>& __x,
     ^~~~
/usr/include/c++/7/future:1579:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::packaged_task<_Res(_ArgTypes ...)>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from Main.cc:1:
/usr/include/c++/7/future:1144:5: note: candidate: template void std::swap(std::promise<_Res>&, std::promise<_Res>&)
     swap(promise<_Res>& __x, promise<_Res>& __y) noexcept
     ^~~~
/usr/include/c++/7/future:1144:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::promise<_Res>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/future:39:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105,
                 from Main.cc:1:
/usr/include/c++/7/thread:263:3: note: candidate: void std::swap(std::thread&, std::thread&)
   swap(thread& __x, thread& __y) noexcept
   ^~~~
/usr/include/c++/7/thread:263:3: note:   no known conversion for argument 1 from ‘int*’ to ‘std::thread&’
In file included from /usr/include/c++/7/forward_list:38:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:104,
                 from Main.cc:1:
/usr/include/c++/7/bits/forward_list.h:1424:5: note: candidate: template void std::swap(std::forward_list<_Tp, _Alloc>&, std::forward_list<_Tp, _Alloc>&)
     swap(forward_list<_Tp, _Alloc>& __lx,
     ^~~~
/usr/include/c++/7/bits/forward_list.h:1424:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::forward_list<_Tp, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/condition_variable:39:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:103,
                 from Main.cc:1:
/usr/include/c++/7/bits/std_mutex.h:363:5: note: candidate: template void std::swap(std::unique_lock<_Mutex>&, std::unique_lock<_Mutex>&)
     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
     ^~~~
/usr/include/c++/7/bits/std_mutex.h:363:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unique_lock<_Mutex>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/stack:61:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:89,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_stack.h:347:5: note: candidate: template void std::swap(std::stack<_Tp, _Seq>&, std::stack<_Tp, _Seq>&)
     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_stack.h:347:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::stack<_Tp, _Seq>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/set:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:87,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_multiset.h:948:5: note: candidate: template void std::swap(std::multiset<_Key, _Compare, _Alloc>&, std::multiset<_Key, _Compare, _Alloc>&)
     swap(multiset<_Key, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_multiset.h:948:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::multiset<_Key, _Compare, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/set:61:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:87,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_set.h:965:5: note: candidate: template void std::swap(std::set<_Key, _Compare, _Alloc>&, std::set<_Key, _Compare, _Alloc>&)
     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_set.h:965:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::set<_Key, _Compare, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/queue:64:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_queue.h:668:5: note: candidate: template void std::swap(std::priority_queue<_Tp, _Sequence, _Compare>&, std::priority_queue<_Tp, _Sequence, _Compare>&)
     swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_queue.h:668:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::priority_queue<_Tp, _Sequence, _Compare>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/queue:64:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_queue.h:372:5: note: candidate: template void std::swap(std::queue<_Tp, _Seq>&, std::queue<_Tp, _Seq>&)
     swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_queue.h:372:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::queue<_Tp, _Seq>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/vector:65:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_bvector.h:128:3: note: candidate: void std::swap(bool&, std::_Bit_reference)
   swap(bool& __x, _Bit_reference __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:128:3: note:   no known conversion for argument 2 from ‘int*’ to ‘std::_Bit_reference’
/usr/include/c++/7/bits/stl_bvector.h:120:3: note: candidate: void std::swap(std::_Bit_reference, bool&)
   swap(_Bit_reference __x, bool& __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:120:3: note:   no known conversion for argument 1 from ‘int*’ to ‘std::_Bit_reference’
/usr/include/c++/7/bits/stl_bvector.h:112:3: note: candidate: void std::swap(std::_Bit_reference, std::_Bit_reference)
   swap(_Bit_reference __x, _Bit_reference __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:112:3: note:   no known conversion for argument 1 from ‘int*’ to ‘std::_Bit_reference’
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_vector.h:1649:5: note: candidate: template void std::swap(std::vector<_Tp, _Alloc>&, std::vector<_Tp, _Alloc>&)
     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_vector.h:1649:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::vector<_Tp, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:82,
                 from Main.cc:1:
/usr/include/c++/7/bits/shared_ptr.h:595:5: note: candidate: template void std::swap(std::weak_ptr<_Tp>&, std::weak_ptr<_Tp>&)
     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr.h:595:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::weak_ptr<_Tp>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:82,
                 from Main.cc:1:
/usr/include/c++/7/bits/shared_ptr.h:474:5: note: candidate: template void std::swap(std::shared_ptr<_Tp>&, std::shared_ptr<_Tp>&)
     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr.h:474:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::shared_ptr<_Tp>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:82,
                 from Main.cc:1:
/usr/include/c++/7/bits/shared_ptr_base.h:1741:5: note: candidate: template void std::swap(std::__weak_ptr<_Tp, _Lp>&, std::__weak_ptr<_Tp, _Lp>&)
     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1741:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__weak_ptr<_Tp, _Lp>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:82,
                 from Main.cc:1:
/usr/include/c++/7/bits/shared_ptr_base.h:1533:5: note: candidate: template void std::swap(std::__shared_ptr<_Tp, _Lp>&, std::__shared_ptr<_Tp, _Lp>&)
     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1533:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__shared_ptr<_Tp, _Lp>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/map:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:81,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_multimap.h:1111:5: note: candidate: template void std::swap(std::multimap<_Key, _Tp, _Compare, _Alloc>&, std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_multimap.h:1111:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::multimap<_Key, _Tp, _Compare, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/map:61:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:81,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_map.h:1446:5: note: candidate: template void std::swap(std::map<_Key, _Tp, _Compare, _Alloc>&, std::map<_Key, _Tp, _Compare, _Alloc>&)
     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_map.h:1446:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::map<_Key, _Tp, _Compare, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/map:60:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:81,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_tree.h:1581:5: note: candidate: template void std::swap(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_tree.h:1581:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/list:63:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:79,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_list.h:1949:5: note: candidate: template void std::swap(std::__cxx11::list<_Tp, _Alloc>&, std::__cxx11::list<_Tp, _Alloc>&)
     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_list.h:1949:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::list<_Tp, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:72,
                 from Main.cc:1:
/usr/include/c++/7/bits/unique_ptr.h:665:5: note: candidate: template void std::swap(std::unique_ptr<_Tp, _Dp>&, std::unique_ptr<_Tp, _Dp>&)
     swap(unique_ptr<_Tp, _Dp>& __x,
     ^~~~
/usr/include/c++/7/bits/unique_ptr.h:665:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71,
                 from Main.cc:1:
/usr/include/c++/7/bits/std_function.h:803:5: note: candidate: template void std::swap(std::function<_Res(_ArgTypes ...)>&, std::function<_Res(_ArgTypes ...)>&)
     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
     ^~~~
/usr/include/c++/7/bits/std_function.h:803:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::function<_Res(_ArgTypes ...)>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/functional:54:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71,
                 from Main.cc:1:
/usr/include/c++/7/tuple:1602:5: note: candidate: template void std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)
     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
     ^~~~
/usr/include/c++/7/tuple:1602:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::tuple<_Tps ...>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/functional:54,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71,
                 from Main.cc:1:
/usr/include/c++/7/array:294:5: note: candidate: template void std::swap(std::array<_Tp, _Nm>&, std::array<_Tp, _Nm>&)
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
     ^~~~
/usr/include/c++/7/array:294:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::array<_Tp, _Nm>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:70:0,
                 from Main.cc:1:
/usr/include/c++/7/fstream:1073:5: note: candidate: template void std::swap(std::basic_fstream<_CharT, _Traits>&, std::basic_fstream<_CharT, _Traits>&)
     swap(basic_fstream<_CharT, _Traits>& __x,
     ^~~~
/usr/include/c++/7/fstream:1073:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::basic_fstream<_CharT, _Traits>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:70:0,
                 from Main.cc:1:
/usr/include/c++/7/fstream:1066:5: note: candidate: template void std::swap(std::basic_ofstream<_CharT, _Traits>&, std::basic_ofstream<_CharT, _Traits>&)
     swap(basic_ofstream<_CharT, _Traits>& __x,
     ^~~~
/usr/include/c++/7/fstream:1066:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::basic_ofstream<_CharT, _Traits>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:70:0,
                 from Main.cc:1:
/usr/include/c++/7/fstream:1059:5: note: candidate: template void std::swap(std::basic_ifstream<_CharT, _Traits>&, std::basic_ifstream<_CharT, _Traits>&)
     swap(basic_ifstream<_CharT, _Traits>& __x,
     ^~~~
/usr/include/c++/7/fstream:1059:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::basic_ifstream<_CharT, _Traits>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:70:0,
                 from Main.cc:1:
/usr/include/c++/7/fstream:1052:5: note: candidate: template void std::swap(std::basic_filebuf<_CharT, _Traits>&, std::basic_filebuf<_CharT, _Traits>&)
     swap(basic_filebuf<_CharT, _Traits>& __x,
     ^~~~
/usr/include/c++/7/fstream:1052:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::basic_filebuf<_CharT, _Traits>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/deque:64:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:68,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_deque.h:2312:5: note: candidate: template void std::swap(std::deque<_Tp, _Alloc>&, std::deque<_Tp, _Alloc>&)
     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_deque.h:2312:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::deque<_Tp, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/bits/basic_string.h:6246:5: note: candidate: template void std::swap(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~
/usr/include/c++/7/bits/basic_string.h:6246:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from Main.cc:1:
/usr/include/c++/7/bits/stl_pair.h:495:5: note: candidate: template void std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)
     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_pair.h:495:5: note:   template argument deduction/substitution failed:
Main.cc:16:27: note:   mismatched types ‘std::pair<_T1, _T2>’ and ‘int*’
   swap(&a[right], &a[left]);
                           ^
In file included from /usr/include/c++/7/bits/nested_exception.h:40:0,
                 from /usr/include/c++/7/exception:143,
                 from /usr/include/c++/7/ios:39,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,