Codeforces celebrates 10 years! We are pleased to announce the crowdfunding-campaign. Congratulate us by the link https://codeforces.com/10years. ×

F. You Are Given Some Letters...
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

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'.

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'.

Examples
Input
2 4
Output
4
Input
5 3
Output
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.