import java.util.Scanner;

class Calculator_Sol
{
    private static long npr(long n, long r)
    {
	return fact(n)/fact(n-r);
    }
    
    private static long add(long a, long b)
    {
	return a+b;
    }

    private static long pow(int a, int b)
    {
	long res=1;
	for (int i=0;i<b;i++){
	    res *= a;
	}
	return res;
    }

    private static long multiply(long a, long b)
    {
	return a*b;
    }

    private static long fib(long n)
    {
	if (n < 1) 
	    return -1;
	if (n < 3)
	    return 1;
	long a = 1;
	long b = 1;
	for (int i=2;i<n;i++){
	    long tmp = a+b;
	    a = b;
	    b = tmp;
	}
	return b;
    }
    
    private static long fact(long n)
    {
	if (n<0) return -1;
	if (n==0) return 1;
	long res = 1;
	for (int i=1;i<=n;i++)
	    res = res * i;
	return res;
    }

    public static void main(String[] args)
    {
	Scanner s = new Scanner(System.in);
	String op = "";
	int op1 = 0;
	int op2 = 0;

	while(true){
	    op = s.next();
	    if (op.equals("exit")) break;
	    if ((op.equals("fib")) || (op.equals("fact")))
		op1 = s.nextInt();
	    else
		{
		    op1 = s.nextInt();
		    op2 = s.nextInt();
		}
	    if (op.equals("+")) System.out.println(add(op1,op2));
	    if (op.equals("*")) System.out.println(multiply(op1,op2));
	    if (op.equals("pow")) System.out.println(pow(op1,op2));
	    if (op.equals("npr")) System.out.println(npr(op1,op2));
	    if (op.equals("fact")) System.out.println(fact(op1));
	    if (op.equals("fib")) System.out.println(fib(op1));
	}
    }
}