COCI '15 Contest 6 #4 Parovi

View as PDF

Submit solution

Points: 12 (partial)
Time limit: 0.6s
Memory limit: 64M

Problem types
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Mirko and Slavko are playing a game. Mirko's turn is first and he chooses a non-empty set of pairs of numbers between 1 and N (inclusive) under the condition that the numbers that comprise a pair are mutually relatively prime. The numbers that comprise a pair must be different. For example, for N = 5, Mirko could have chosen the following set of pairs: \{\{1, 2\}, \{3, 4\}, \{2, 5\}, \{3, 5\}\}.

Slavko's turn is second and his goal is to find a partition for Mirko's set of pairs. Mirko's set of pairs has a partition if an integer x from the set \{2, 3, \dots, N\} exists such that, for each pair \{a, b\}, one of the following holds:

  • a, b < x
  • a, b \ge x

For example, a set of pairs \{\{1, 2\}, \{3, 4\}\} has a partition x = 3. If a partition exists, Slavko will surely find it.

Mirko wins if Slavko can't find a partition for his set. Determine how many different sets of pairs exists that Mirko can initially choose and be sure of his victory. Given the fact that the total number of sets can be very large, output the number modulo 1\,000\,000\,000.


The first line of input contains the integer N (1 \le N \le 20).


The first and only line of output must contain the required number.

Sample Input 1


Sample Output 1


Explanation for Sample Output 1

The only set of pairs that meets the given requirements is \{\{1, 2\}\}.

Sample Input 2


Sample Output 2


Explanation for Sample Output 2

An example of a set that meets the given requirements is \{\{1, 3\}, \{1, 2\}\}.

Sample Input 3


Sample Output 3



There are no comments at the moment.