선물
시간 제한2초메모리 제한512 MB
단위 종이 n칸이 주어질 때, 겉넓이가 n 이하가 되는 정수 상자 치수를 찾아 부피가 최대가 되도록 하는 문제이다.
문제
초보 프로그래머 폴리카프는 선물을 주는 것을 매우 좋아하며, 특히 상자에 담아 주는 것을 좋아한다. 그는 상자를 예쁘게 꾸미면 선물의 기쁨이 몇 배로 커진다는 것을 오래전부터 알고 있었다. 어떤 포장지보다도 격자무늬 종이를 선호한다. 실제로 선물을 풀고 나면 그 종이 위에서 틱택토, 해전 놀이, 점 잇기를 할 수 있고, 문제를 풀거나 프로그램을 작성할 수도 있다.
폴리카프는 매우 꼼꼼하다. 그는 선물을 직육면체 모양의 상자에 담고, 상자의 겉면 전체를 격자무늬 종이로 감싼다. 이때 상자의 각 면은 정사각형 칸으로 이루어진 직사각형이다. 그림은 이런 선물 포장의 예를 보여준다.
지금 폴리카프는 최근에 올림피아드를 마치고 돌아온 여자 친구를 축하하려 한다. 그는 크고 예쁜 상자에 담긴 선물을 주고 싶다.
폴리카프에게는 n개의 칸으로 이루어진 격자무늬 종이 한 장이 있다. 이 종이를 위에서 설명한 방식으로 사용해 감쌀 수 있는 상자의 최대 부피는 얼마인가? 폴리카프는 격자무늬 종이를 칸 경계를 따라 임의로 자를 수 있고, 잘라 낸 도형으로 상자를 감쌀 수 있으므로 종이의 모양은 중요하지 않고 종이에 있는 칸의 수만 중요하다. 폴리카프는 상자를 감싸는 데 종이의 모든 칸을 사용하지 않아도 된다.
격자무늬 종이의 칸 수 n이 주어질 때, 가능한 최대 부피를 갖는 상자의 크기를 구하는 프로그램을 작성하시오.
입력
입력 파일에는 격자무늬 종이의 칸 수를 나타내는 정수 n (6 ≤ n ≤ 10^13)이 하나 주어진다.
출력
출력 파일의 첫 번째 줄에 폴리카프가 선물할 수 있는 상자의 최대 부피를 출력한다. 부피는 "세제곱 칸" 단위, 즉 한 변의 길이가 칸의 한 변의 길이와 같은 정육면체를 단위로 하여 출력한다.
두 번째 줄에 구하는 상자의 너비, 길이, 높이를 출력한다. 단위는 칸의 크기이다. 수는 공백으로 구분한다. 답이 여러 개라면 그중 아무거나 하나를 출력한다.