subtask 1: examples
segment.01/02/03
subtask 2: n <= 500, 3 pts
segment.04: random intervals for every x = 1..20. all integers in these intervals get multiplied by x
segment.05: bitmask for every number that gives prime factorization
segment.06: each number has a prime multiplier from [sqrt(1e9), 10 * sqrt(1e9)]
subtask 3: n <= 1000, 4 pts
segment.07: random intervals for every x = 1..20. all integers in these intervals get multiplied by x
segment.08: bitmask for every number that gives prime factorization
segment.09: each number has a prime multiplier from [sqrt(1e9), 10 * sqrt(1e9)]
subtask 4: prime numbers, 12 pts
segment.10: longest [l, r] is NOT the answer, neither is maximum number
segment.11: testgen.cpp
segment.12: n = maxn, a_i = largest prime
segment.13: testgen.cpp
subtask 5: powers of 2, 16 pts
segment.14: fix a gcd for the answer, muliply odd/even positions by different powers of 2 numbers  
segment.15: fix a gcd for the answer, muliply odd/even positions by different powers of 2 numbers  
segment.16: increasing/decreasing powers of 2
segment.17: increasing/decreasing powers of 2
subtask 6: segmtree, 15 pts
segment.18-20: fix a gcd for the answer, muliply odd/even positions by different prime numbers / testgen1.cpp
subtask 7: sparse, 20 pts
segment.21-23: fix a gcd for the answer, muliply odd/even positions by different prime numbers / testgen1.cpp
subtask 8: nlog viktor, 30 pts
segment.24-28: fix a gcd for the answer, muliply odd/even positions by different prime numbers / testgen1.cpp

TODO:
-THE ANSWER SHOULDN'T BE ALL EQUAL NUMBERS
-optimize dnc idea
-try pragmas/constant optimizations/binary gcd?
-think greedys/kill greedys
