#include<stdio.h>

void multipli_divisori (int min, int max, int * n_multipli_divisori){
	
	int i, q;
	
  if ((min <= 0) || (max <= min)) {
  	*n_multipli_divisori = -1;
  	return;
  }

	
	if (max % min != 0) {
		*n_multipli_divisori = 0;
		return;
	}
	
	
	q = max/min;
	*n_multipli_divisori = 0;
		
	for (i=2; i<= q/2; i++)
		if (q % i == 0) (*n_multipli_divisori)++;
	
	/* //In alternativa:
	i=2;
	*n_multipli_divisori = 0;
	while (min*i < max){
		if (max % (min*i++) == 0) (*n_multipli_divisori)++;
	}*/
}

int main ( void ) {

	int min, max, n_multipli_divisori;
	
	scanf("%d", &min);
	scanf("%d", &max);
	
	multipli_divisori ( min, max, &n_multipli_divisori );
	printf("%d\n", n_multipli_divisori);
	return 0;
}
