Remainder Game

AtCoder
IDagc022_c
Time2000ms
Memory256MB
Difficulty
Aoki is playing with a sequence of numbers $a_{1}, a_{2}, ..., a_{N}$. Every second, he performs the following operation : * Choose a positive integer $k$. For each element of the sequence $v$, Aoki may choose to replace $v$ with its remainder when divided by $k$, or do nothing with $v$. The cost of this operation is $2^{k}$ (regardless of how many elements he changes). Aoki wants to turn the sequence into $b_{1}, b_{2}, ..., b_{N}$ (the order of the elements is important). Determine if it is possible for Aoki to perform this task and if yes, find the minimum cost required. ## Constraints * $1 \leq N \leq 50$ * $0 \leq a_{i}, b_{i} \leq 50$ * All values in the input are integers. ## Input Input is given from Standard Input in the following format: $N$ $a_{1}$ $a_{2}$ $...$ $a_{N}$ $b_{1}$ $b_{2}$ $...$ $b_{N}$ [samples]
Samples
Input #1
3
19 10 14
0 3 4
Output #1
160

Here's a possible sequence of operations :

*   Choose $k = 7$. Replace $19$ with $5$, $10$ with $3$ and do nothing to $14$. The sequence is now $5, 3, 14$.
    
*   Choose $k = 5$. Replace $5$ with $0$, do nothing to $3$ and replace $14$ with $4$. The sequence is now $0, 3, 4$.
    

The total cost is $2^{7} + 2^{5} = 160$.
Input #2
3
19 15 14
0 0 0
Output #2
2

Aoki can just choose $k = 1$ and turn everything into $0$. The cost is $2^{1} = 2$.
Input #3
2
8 13
5 13
Output #3
\-1

The task is impossible because we can never turn $8$ into $5$ using the given operation.
Input #4
4
2 0 1 8
2 0 1 8
Output #4
0

Aoki doesn't need to do anything here. The cost is $0$.
Input #5
1
50
13
Output #5
137438953472

Beware of overflow issues.
API Response (JSON)
{
  "problem": {
    "name": "Remainder Game",
    "description": {
      "content": "Aoki is playing with a sequence of numbers $a_{1}, a_{2}, ..., a_{N}$. Every second, he performs the following operation : *   Choose a positive integer $k$. For each element of the sequence $v$, Aok",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "agc022_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Aoki is playing with a sequence of numbers $a_{1}, a_{2}, ..., a_{N}$. Every second, he performs the following operation :\n\n*   Choose a positive integer $k$. For each element of the sequence $v$, Aok...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments