fn main() { let (a, b): (usize, usize) = { let mut line: String = String::new(); std::io::stdin().read_line(&mut line).unwrap(); let mut iter = line.split_whitespace(); ( iter.next().unwrap().parse().unwrap(), iter.next().unwrap().parse().unwrap(), ) }; let mut diva:Vec=vec![0;0]; let root_a=f64::sqrt(a as f64); for i in 1..(root_a as usize)+1{ if a%i==0{ diva.push(i); if a/i>i{ diva.push(a/i); } } } let mut ans=0; for d in diva{ if d%b==0{ ans+=1; } } println!("{}",ans); }