output_description: Print all pairs (k, x) such that a' and b will be equal, using one line for
  each pair, in ascending order of k (ascending order of x for pairs with the
  same k).
  
  If there are no such pairs, the output should be empty.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_0 a_1 ... a_{N-1}
      b_0 b_1 ... b_{N-1}
attempt: import fractions  # version 3.4
  from functools import reduce
  
  
  def gcd(*numbers):
      return reduce(fractions.gcd, numbers)
  
  
  def lcm(*numbers):
      return reduce(lambda x, y: (x * y) // fractions.gcd(x, y), numbers, 1)
  
  
  def s_in():
      return input()
  
  
  def n_in():
      return int(input())
  
  
  def l_in():
      return list(map(int, input().split()))
  
  
  class Interval:
      def __init__(self, li):
          self.li = li
          self.n = len(li)
          self.sum_li = [li[0]]
          for i in range(1, self.n):
              self.sum_li.append(self.sum_li[i - 1] + li[i])
  
      def sum(self, a, b=None):
          if b is None:
              return self.sum(0, a)
  
          res = self.sum_li[min(self.n - 1, b - 1)]
          if a > 0:
              res -= self.sum_li[a - 1]
          return res
  
  
  N, M = l_in()
  A = l_in()
  
  B = [a // 2 for a in A]
  L = lcm(*B)
  
  if any([(L // b) % 2 == 0 for b in B]):
      print(0)
  else:
      print((M // L + 1) // 2)
  
problem_description: Statement
  
  Given are two sequences a=\\{a_0,\ldots,a_{N-1}\\} and
  b=\\{b_0,\ldots,b_{N-1}\\} of N non-negative integers each.
  
  Snuke will choose an integer k such that 0 \leq k < N and an integer x not
  less than 0, to make a new sequence of length N,
  a'=\\{a_0',\ldots,a_{N-1}'\\}, as follows:
  
    * a_i'= a_{i+k \mod N}\ XOR \ x
  
  Find all pairs (k,x) such that a' will be equal to b.
  
  What is \mbox{ XOR }?
  
  The XOR of integers A and B, A \mbox{ XOR } B, is defined as follows:
  
    * When A \mbox{ XOR } B is written in base two, the digit in the 2^k's place (k \geq 0) is 1 if either A or B, but not both, has 1 in the 2^k's place, and 0 otherwise.
  
  For example, 3 \mbox{ XOR } 5 = 6. (In base two: 011 \mbox{ XOR } 101 = 110.)
samples: [{"input": "3\n    0 2 1\n    1 2 3", "output": "1 3\n    \n\nIf (k,x)=(1,3),\n\n  * a_0'=(a_1\\ XOR \\ 3)=1\n\n  * a_1'=(a_2\\ XOR \\ 3)=2\n\n  * a_2'=(a_0\\ XOR \\ 3)=3\n\nand we have a' = b.\n\n* * *"}, {"input": "5\n    0 0 0 0 0\n    2 2 2 2 2", "output": "0 2\n    1 2\n    2 2\n    3 2\n    4 2\n    \n\n* * *"}, {"input": "6\n    0 1 3 7 6 4\n    1 5 4 6 2 3", "output": "2 2\n    5 5\n    \n\n* * *"}, {"input": "2\n    1 2\n    0 0", "output": "No pairs may satisfy the condition."}]