/*
* Swap
*
*/
template<class T> void swap(T& a, T& b)
{
T tmp = a;
a = b;
b = tmp;
}
template<class For, class For2> void iter_swap(For x, For2 y);
template<class For, class For2> i
For2 swap_ranges(For first, For last, For2 first2)
{
while (first != last) iter_swap(first++, first2++);
return first2;
}