use proconio::input; fn main() { input! { n: i64, } let i3 = (0..=1_000_000).map(|i| i * i * i).collect::>(); let mut res = vec![]; let mut r = 1; let mut sum = 0; for l in 1..i3.len() { while sum < n { sum += i3[r]; r += 1; } if sum == n { res.push((l, r - 1)); } sum -= i3[l]; } println!("{}", res.len()); for (l, r) in res { println!("{} {}", l, r); } }