import java.io.OutputStream; import java.io.PrintWriter; import java.util.InputMismatchException; import java.io.IOException; import java.io.InputStream; /** * Built using CHelper plug-in * Actual solution is at the top * @author George Marcus */ public class Main { public static void main(String[] args) { InputStream inputStream = System.in; OutputStream outputStream = System.out; InputReader in = new InputReader(inputStream); PrintWriter out = new PrintWriter(outputStream); ArchLord solver = new ArchLord(); solver.solve(1, in, out); out.close(); } } class ArchLord { private static final long MOD = 666013; public void solve(int testNumber, InputReader in, PrintWriter out) { int N = in.nextInt(); int ans = 0; long crt = 1; int left = 2 * N; while (left > 0) { crt = crt * left % MOD; if (left < 2 * N) { ans += crt; if (ans >= MOD) { ans -= MOD; } } left--; } int ans2 = 0; long crt2 = 1; left = N; while (left > 0) { crt2 = crt2 * left % MOD; if (left < N) { ans2 += crt2; if (ans2 >= MOD) { ans2 -= MOD; } } left--; } ans -= 2 * ans2; ans %= MOD; ans += MOD; ans %= MOD; out.println(ans); } } class InputReader { private InputStream stream; private byte[] buf = new byte[1024]; private int curChar; private int numChars; public InputReader(InputStream stream) { this.stream = stream; } public int read() { if (numChars == -1) throw new InputMismatchException(); if (curChar >= numChars) { curChar = 0; try { numChars = stream.read(buf); } catch (IOException e) { throw new InputMismatchException(); } if (numChars <= 0) return -1; } return buf[curChar++]; } public int nextInt() { return Integer.parseInt(nextString()); } public String nextString() { int c = read(); while (isSpaceChar(c)) c = read(); StringBuffer res = new StringBuffer(); do { res.appendCodePoint(c); c = read(); } while (!isSpaceChar(c)); return res.toString(); } private boolean isSpaceChar(int c) { return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; } }