1.


/**
* FWP, Ausgewählte Probleme aus dem ACM Programming Contest, WS09
* Problem: 10303 - How Many Trees?
* Link: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=15&page=show_problem&problem=1244
*
* @author Dennis Wilfert
* @version 1.0, 12/09/2009
*
* Status : Accepted
* Runtime: 0.204
*/
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.HashMap;

class Main {

public static void main(String[] args) throws IOException {

HashMap<Integer, BigInteger> map = new HashMap<Integer, BigInteger>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
PrintWriter writer = new PrintWriter(new BufferedOutputStream(System.out));
int n, i;
BigInteger denom;
BigInteger num;

// Anzahl der verschiedenen Binären Suchbäume
// Die Anzahl ist immer die Catalanzahl des Eingabewerts C = (2n)! / ( (n+1)!+n! )
// nach dem kürzen ergibt sich C = ( (2*n) * (2*n-1) * (2*n-2) ... * n+2 ) / n!


// Fakultäten von 1 bis 1000 vorberechnen
denom = BigInteger.ONE;
map.put(0, denom);
for (i = 1; i <= 1000; i++) {
denom = denom.multiply(BigInteger.valueOf(i));
map.put(i, denom);
}
String line = reader.readLine();

while (line != null) {

n = Integer.parseInt(line);

// Im Zähler müssen nach dem Kürzen alle Werte von n+2 bis 2*n multipliziert werden
num = BigInteger.ONE;
for (i = 2*n; i > n+1; i--) {
num = num.multiply(BigInteger.valueOf(i));
}

// Im Nenner muss n! stehen
num = num.divide(map.get(n));

// Formatiert ausgeben
writer.println(num);

line = reader.readLine();

}
writer.flush();
}

}