void printi(int val);

int function4(int val)
{
  printi(val);
  return val + 1;
}

int function3(int val)
{
  printi(val);
  return val;
}

int function2(int val, int val2)
{
  printi(val);
  printi(val2);
  return val + val2;
}

int function(int val, int val2)
{
  printi(val);
  printi(val2);
  return function2(function3(val), function4(val));
}

int main()
{
  int val;

  val = function(10, 20);
  printi(val);

  return 0;
}
