concept LessThanComparable<typename T> { bool operator<(const T& x, const T& y); } template<typename T> requires LessThanComparable<T> const T& min(const T& x, const T& y) { return x < y? x : y; }