package main import . "fmt" import . "sort" func main() { var n int Scan(&n) ans := solve(n) Strings(ans) Println(len(ans)) for _, s := range ans { Print(s) } } func solve(n int) (ans []string) { sum := 0 r := 0 for i := 1; i*i*i<=n; i++ { sum +=i*i*i r = i } for l := 1; l*l*l<=n; l++ { for sum > n && r > l { sum -= r*r*r r-- } for sum < n && r*r*r < n { r++ sum += r*r*r } if sum == n && l <= r { ans = append(ans, Sprintf("%d %d\n", l, r)) } sum -= l*l*l if r == l { r++ sum = r*r*r } } return }