Given are positive integers A and B.

Let us choose some number of positive common divisors of A and B.

Here, any two of the chosen divisors must be coprime.

At most, how many divisors can we choose?

Definition of common divisor

An integer d is said to be a common divisor of integers x and y when d divides both x and y.

Definition of being coprime

Integers x and y are said to be coprime when x and y have no positive common divisors other than 1.

Definition of dividing

An integer x is said to divide another integer y when there exists an integer \alpha such that y = \alpha x.

Constraints

* All values in input are integers.
* 1 \leq A, B \leq 10^{12}

Input

Input is given from Standard Input in the following format:


A B


Output

Print the maximum number of divisors that can be chosen to satisfy the condition.

Examples

Input

12 18


Output

3


Input

420 660


Output

4


Input

1 2019


Output

1
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long a = sc.nextLong();
		long b = sc.nextLong();
		List<Long> l1 = insu(a);
		List<Long> l2 = insu(b);
		HashSet<Long> h = new HashSet<Long>(l1);
		l1.clear();
		l1.addAll(h);
		h = new HashSet<Long>(l2);
		l2.clear();
		l2.addAll(h);
		int ans = 0;
		for(long i: l1){
			if(l2.contains(i)) {
				ans++;
			}
		}
		System.out.println(ans+1);
	}

	public static List<Long> insu(long n){
		List<Long> list = new ArrayList<>();
		if(n==1) return list;
		for(int i=2; i<=Math.sqrt(n); i++){
			if(n%i == 0){
				list.add((long)i);
				n = n/i;
				i = 1;
			}
		}
		list.add(n);
		return list;
	}
}
