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