1 template<typename T>
pow(T b,T p)2 T pow(T b, T p) {
3   if (!p)
4     return 1;
5 
6   while (--p) {
7     b *= b;
8   }
9 
10   return b;
11 }
12