import java.awt.geom.*;
import java.util.*;
import java.awt.*;
import java.io.*;
import java.math.BigInteger;

class Catalan {
    public static void main(String[] args) throws IOException {
        new Catalan().run();
    }

    TreeMap<Integer, BigInteger> facts;

    public void run() throws IOException {
        Scanner cin = new Scanner(System.in);
        facts = new TreeMap<Integer,BigInteger>();

        while(true) {
            int n = cin.nextInt();
            if (n == 0) break;

            System.out.println( catalan(n).toString() );
            //System.out.println( fact(n).toString() );
        }
    }

    BigInteger catalan(int n) {
        return fact(2*n).divide( fact(n+1).multiply(fact(n)) );
    }

    BigInteger fact(int n) {
        if(n==1) return BigInteger.valueOf(1);
        if(facts.containsKey(n))
            return facts.get(n);
        BigInteger rv = fact(n-1);
        rv = rv.multiply(BigInteger.valueOf(n));
        facts.put(n, rv);
        return rv;
    }
}

// BigInteger also has:
// testBit, setBit, shiftLeft, mod, remainder, xor (and friends), bitCount,
// bitLength, clearBit, flipBit, gcd, getLowestSetBit, isProbablyPrime(int)
// pow, negate, abs, and signum
