codeforces#P1202F. You Are Given Some Letters...

You Are Given Some Letters...

Description

You are given $a$ uppercase Latin letters 'A' and $b$ letters 'B'.

The period of the string is the smallest such positive integer $k$ that $s_i = s_{i~mod~k}$ ($0$-indexed) for each $i$. Note that this implies that $k$ won't always divide $a+b = |s|$.

For example, the period of string "ABAABAA" is $3$, the period of "AAAA" is $1$, and the period of "AABBB" is $5$.

Find the number of different periods over all possible strings with $a$ letters 'A' and $b$ letters 'B'.

The first line contains two integers $a$ and $b$ ($1 \le a, b \le 10^9$) — the number of letters 'A' and 'B', respectively.

Print the number of different periods over all possible strings with $a$ letters 'A' and $b$ letters 'B'.

Input

The first line contains two integers $a$ and $b$ ($1 \le a, b \le 10^9$) — the number of letters 'A' and 'B', respectively.

Output

Print the number of different periods over all possible strings with $a$ letters 'A' and $b$ letters 'B'.

Samples

2 4
4
5 3
5

Note

All the possible periods for the first example:

  • $3$ "BBABBA"
  • $4$ "BBAABB"
  • $5$ "BBBAAB"
  • $6$ "AABBBB"

All the possible periods for the second example:

  • $3$ "BAABAABA"
  • $5$ "BAABABAA"
  • $6$ "BABAAABA"
  • $7$ "BAABAAAB"
  • $8$ "AAAAABBB"

Note that these are not the only possible strings for the given periods.