#include <iostream>
using namespace std;

int factorial(int n)
{
  int return_value;
  cout << "Called factorial(" << n << ")\n";
  if (n == 0) {
    return_value = 1;
  } else {
    return_value = n * factorial(n-1);
  }
  cout << "Factorial(" << n << ") is returning " << return_value << endl;
  return return_value;
}

main()
{
  int n;
 
  cout << "Enter n: ";
  cin >> n;
  cout << "Factorial of " << n << " is " << factorial(n) << endl;
  return 0;
}


