unsigned factorial(unsigned n) { if(n==0) return 1; else return n*factorial(n-1); }