#pragma once template void swap(T &a, T &b) { T tmp; tmp = a; a = b; b = tmp; } template T min(T &a, T &b) { return (a < b ? a : b); } template T max(T &a, T&b) { return (a > b ? a : b); }