우주 측량선 하코다테마루
면접 대비시간 제한1초메모리 제한128 MB
상한 이하에서 세제곱수와 사면체수의 합으로 표현되는 가장 큰 연료 개수를 구합니다.
문제
측량 우주선 하코다테마루는 용량에 제한이 없는 연료 탱크 두 개로 유명하다. 두 탱크에는 같은 종류의 원자 연료구를 담는다.
다만 불편한 점이 하나 있다. 1번 연료 탱크는 정육면체 모양이고, 2번 연료 탱크는 정사면체 모양이다. 두 탱크는 각각 완전히 비어 있거나 모양에 꼭 맞게 채워져 있어야 한다. 그렇지 않으면 연료구가 몹시 불안정해져서 탱크 안에서 폭발할 수 있다. 그래서 1번 탱크에 넣는 연료구 개수는 세제곱수, 즉 에 대한 이어야 하고, 2번 탱크에 넣는 개수는 사면체수, 즉 에 대한 이어야 한다.
하코다테마루는 지금 별 기지 고료카쿠에 머물며 다음 임무를 준비하고 있다. 별과 성간 물질의 정밀한 성도를 만드는 임무다. 두 탱크는 모두 비어 있다. 고료카쿠의 파루스 사령관은 곧 하코다테마루의 퓨처 함장에게 고료카쿠가 공급 가능한 연료구 개수를 알린다. 퓨처 함장은 배가 고료카쿠를 떠나기 전에 몇 개를 요청할지 빠르게 답해야 한다. 물론 함장과 승무원은 연료구를 최대한 많이 받고 싶어한다.
예를 들어 파루스 사령관이 연료구 151200개를 제안한 경우를 보자. 1번 탱크만 쓸 수 있다면 이므로 최대 148877개를 넣는다. 2번 탱크만 쓸 수 있다면 이므로 최대 147440개를 넣는다. 1번 탱크와 2번 탱크를 함께 쓰면 이므로 151200개를 전부 넣는다. 이때 퓨처 함장의 답은 151200이다.
고료카쿠의 연료 저장고 용량 때문에 파루스 사령관의 제안은 151200을 넘지 않는다. 함장과 승무원도 그 사실을 알고 있다.
당신은 하코다테마루에 배속된 연료 기술자다. 오늘 할 일은 퓨처 함장이 요청할 연료구 개수를 계산하는 것이다.
입력
입력은 양의 정수를 최대 1024개 담은 수열이다. 각 줄에 정수가 하나씩 주어진다. 수열 다음에는 0이 오는데, 입력의 끝을 알리는 표시이므로 처리하지 않는다. 입력으로 주어지는 정수는 모두 151200 이하다.
출력
입력으로 주어진 값마다 한 줄에 정수를 하나씩 출력한다. 그 정수는 음이 아닌 세제곱수와 음이 아닌 사면체수의 합으로 나타나는 정수 중에서 대응하는 입력 값 이하인 가장 큰 값이다. 그 밖의 문자는 출력하지 않는다.