// Ballot.java // import java.io.*; // Uses dynamic programming. Here m[i][j] is the answer where i ballots // are cast for A and j ballots for B. public class Ballot { int lena, lenb; long[][] m; public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader( new InputStreamReader(System.in) ); int numCases = Integer.parseInt( in.readLine() ); for (int i = 0; i < numCases; i++){ int input = Integer.parseInt( in.readLine() ); Ballot ballot = new Ballot(); System.out.println(ballot.answer( input )); } } long answer( int n ) { // initialization m = new long[n+1][n+1]; for (int i = 0; i <= n; i++) m[i][0] = 1; for (int j = 1; j <= n; j++) m[0][j] = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) { long a = m[i][j-1]; long b = (j < i) ? m[i-1][j] : 0; m[i][j] = a + b; } return m[n][n]; } }