use std::collections::HashSet; use proconio::input; fn main() { input! { k: usize, n: usize } let mut ans = HashSet::new(); for x in 1usize.. { let x6 = x.saturating_pow(6); if x6 >= n { break; } for y in 1usize.. { let y4 = y.saturating_pow(4); let sum = x6.saturating_add(y4); if sum > n { break; } if sum % k == 0 { let z2 = sum / k; let z = (z2 as f64).sqrt() as usize; if z * z == z2 { ans.insert(sum); } } } } println!("{}", ans.len()); }