package main import ( "bufio" "fmt" "os" ) func main() { in := bufio.NewReader(os.Stdin) var N, K, ans int fmt.Fscan(in, &N, &K) val := N - K list, m := soinsu(val) //fmt.Println(list) for i := 0; i < len(list); i++ { _, ok := m[val/list[i]] if list[i] > K { ans++ } if val/list[i] > K && !ok { ans++ } } fmt.Println(ans) } func soinsu(N int) ([]int, map[int]int) { list := make([]int, 0) m := make(map[int]int) for i := 1; i < N; i++ { if i*i > N { break } if N%i != 0 { continue } if N%i == 0 { list = append(list, i) if _, ok := m[i]; ok { m[i]++ } else { m[i] = 1 } } } return list, m }