template |T| greater(|T| a, |T| b) { if (a > b) return a; return b; } template |T| lesser(|T| a, |T| b) { if (a > b) return b; return a; }