← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var p int
	fmt.Fscan(in, &p)

	if p == 0 {
		fmt.Fprintln(out, 0, 0)
		return
	}

	const inf = int(1e9)
	dp := make([]int, p+1)
	for i := 1; i <= p; i++ {
		dp[i] = inf
	}

	for a := 2; ; a++ {
		t := a * (a - 1) / 2
		if t > p {
			break
		}
		for x := t; x <= p; x++ {
			if dp[x-t]+a < dp[x] {
				dp[x] = dp[x-t] + a
			}
		}
	}

	n := dp[p]
	u := int64(n)*(int64(n)-1)/2 - int64(p)
	fmt.Fprintln(out, n, u)
}