← Home
package main

import (
	"fmt"
)

func solve(m int64) (int, int64) {
	if m == 0 {
		return 0, 0
	}
	var a int64 = 1
	var l, r int64 = 1, 100000
	for l <= r {
		mid := (l + r) / 2
		if mid*mid*mid <= m {
			a = mid
			l = mid + 1
		} else {
			r = mid - 1
		}
	}
	b1, v1 := solve(m - a*a*a)
	b1++
	v1 += a * a * a

	b2, v2 := solve(a*a*a - 1 - (a-1)*(a-1)*(a-1))
	b2++
	v2 += (a - 1) * (a - 1) * (a - 1)

	if b1 > b2 || (b1 == b2 && v1 > v2) {
		return b1, v1
	}
	return b2, v2
}

func main() {
	var m int64
	if _, err := fmt.Scan(&m); err == nil {
		b, v := solve(m)
		fmt.Println(b, v)
	}
}