Skip to content

Instantly share code, notes, and snippets.

@thameemk612 thameemk612/8
Created Oct 18, 2018

What would you like to do?
Some years ago, there lived a farmer named Duncan in a far away land. Duncan had a cow named Wowie and he was deeply attached to her. Duncan would spend the whole summer stocking hay to feed Wowie in winter. Duncan collected hay and put it into haystack. As Duncan was a bright farmer, he collected the hay into cubical hay blocks of the same size and stored the blocks in his barn. After a summer spent in hard toil, Duncan stored A·B·C hay blocks and stored them in a barn as a rectangular parallelepiped A layers high. Each layer had B rows and each row had C blocks.
At the end of the autumn Duncan came into the barn to admire one more time the hay he'd been stacking during this hard summer. Unfortunately, Duncan was shocked to see that the hay blocks had been carelessly scattered around the barn. The place was a complete mess. As it turned out, thieves had sneaked into the barn. They completely dissembled and took away a layer of blocks from the parallelepiped's front, back, top and sides. As a result, the barn only had a parallelepiped containing (A - 1) × (B - 2) × (C - 2) hay blocks. To hide the evidence of the crime, the thieves had dissembled the parallelepiped into single 1 × 1 × 1 blocks and scattered them around the barn. After the theft Duncan counted n hay blocks in the barn but he forgot numbers A, B и C.
Given number n, find the minimally possible and maximally possible number of stolen hay blocks.
Input The only line contains integer n from the problem's statement .
Output Print space-separated minimum and maximum number of hay blocks that could have been stolen by the thieves.
Note that the answer to the problem can be large enough, so you must use the 64-bit integer type for calculations. Please, do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use cin, cout streams or the %I64d specificator.
Input Format
(1 ≤ n ≤ 109)
Output Format
28 41
Let's consider the first sample test. If initially Duncan has a parallelepiped consisting of 32 = 2 × 4 × 4 hay blocks in his barn, then after the theft the barn has 4 = (2 - 1) × (4 - 2) × (4 - 2) hay blocks left. Thus, the thieves could have stolen 32 - 4 = 28 hay blocks. If Duncan initially had a parallelepiped consisting of 45 = 5 × 3 × 3 hay blocks in his barn, then after the theft the barn has 4 = (5 - 1) × (3 - 2) × (3 - 2) hay blocks left. Thus, the thieves could have stolen 45 - 4 = 41 hay blocks. No other variants of the blocks' initial arrangement (that leave Duncan with exactly 4 blocks after the theft) can permit the thieves to steal less than 28 or more than 41 blocks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.