Problem Statement
This problem is about a special type of cardboard boxes. When assembled, these boxes have three dimensions: length, width, and height. All three dimensions must be positive integers. Length and width are interchangable: a (length,width,height) box is the same as a (width,length,height) box.
A cardboard box consists of 12 connected pieces of cardboard. The shape of each piece is a rectangle.
Four of these pieces are simply the sides of the box. If we only had these four pieces, we would have a box that is missing the top and the bottom. We will call this shape an open box.
The next four pieces are flaps on the top of the box. Each flap is connected to one of the four edges of the open box. Thus, one dimension of each flap is fixed. All four flaps have the same second dimension, and this dimension is as small as possible given that together the four flaps can completely cover the top of the box. For example, if your box is 50 cm long and 21 cm wide, each of the top flaps will have dimensions (the length of the edge it is attached to, times 10.5 cm).
The last four pieces are flaps on the bottom. These look the same as the flaps on the top.
Given the total surface area S of the cardboard box, count all possible dimensions it may have.
Definition
- Class:
- CardboardBoxes
- Method:
- count
- Parameters:
- long
- Returns:
- long
- Method signature:
- long count(long S)
- (be sure your method is public)
Notes
- As shown in the statement, only the dimensions of the box itself must be integers. The flaps can have one dimension that is not an integer.
Constraints
- S will be between 1 and 10^13, inclusive.
Examples
47
Returns: 0
It should be quite obvious that the surface area of a valid cardboard box cannot be 47.
470
Returns: 6
The six distinct sets of dimensions (in the order width, length, height) that correspond to surface area 470 are listed below: 1 4 46 1 46 4 2 3 45 2 45 3 3 44 2 4 43 1
4700
Returns: 106
1
Returns: 0
2
Returns: 0
3
Returns: 0
4
Returns: 0
5
Returns: 0
6
Returns: 0
7
Returns: 0
8
Returns: 1
9
Returns: 0
10
Returns: 0
11
Returns: 0
12
Returns: 2
13
Returns: 0
14
Returns: 0
15
Returns: 0
16
Returns: 2
17
Returns: 0
18
Returns: 1
19
Returns: 0
20
Returns: 2
21
Returns: 0
22
Returns: 0
23
Returns: 0
24
Returns: 5
25
Returns: 0
26
Returns: 0
27
Returns: 0
28
Returns: 2
29
Returns: 0
30
Returns: 3
31
Returns: 0
32
Returns: 4
33
Returns: 0
34
Returns: 0
35
Returns: 0
36
Returns: 5
37
Returns: 0
38
Returns: 0
39
Returns: 0
40
Returns: 6
41
Returns: 0
42
Returns: 3
43
Returns: 0
44
Returns: 2
45
Returns: 0
46
Returns: 0
47
Returns: 0
48
Returns: 10
49
Returns: 0
50
Returns: 2
100
Returns: 8
1000
Returns: 49
10000
Returns: 236
100000
Returns: 938
1000000
Returns: 3732
10000000
Returns: 13714
100000000
Returns: 49507
1000000000
Returns: 178965
1840066816
Returns: 177454
4298506969
Returns: 0
9029979119
Returns: 0
10000000000
Returns: 620325
72863824489
Returns: 0
100000000000
Returns: 2177680
111161191111
Returns: 0
125411328001
Returns: 0
129711624025
Returns: 0
130147795189
Returns: 0
136115247844
Returns: 309236
141592653589
Returns: 0
161261796076
Returns: 1021
164296462225
Returns: 0
164736913905
Returns: 0
169314144484
Returns: 557924
198765432101
Returns: 0
203475872889
Returns: 0
222322382222
Returns: 0
226299052681
Returns: 0
251117233141
Returns: 0
252097800623
Returns: 0
288731051569
Returns: 0
337019725156
Returns: 501332
358223796324
Returns: 2427113
397530864202
Returns: 0
416622484369
Returns: 0
424777960767
Returns: 0
507995698619
Returns: 0
553559562581
Returns: 0
608981813029
Returns: 0
695064027025
Returns: 0
1000000000000
Returns: 7418462
1000000000063
Returns: 0
1004468932564
Returns: 2
1133328809969
Returns: 0
1196980996691
Returns: 0
1217963626058
Returns: 0
1254113280010
Returns: 6
1260489003115
Returns: 0
1268194449777
Returns: 0
1301477951890
Returns: 6
1346140268867
Returns: 0
1482632225145
Returns: 0
1706187932514
Returns: 234216
1723716095811
Returns: 0
1824062875411
Returns: 0
1940226474887
Returns: 0
2207764711995
Returns: 0
2310320545045
Returns: 0
2731421044753
Returns: 0
2900060720961
Returns: 0
2935561623745
Returns: 0
3000000000189
Returns: 0
3004058991205
Returns: 0
3047974191714
Returns: 3
3399986429907
Returns: 0
3447836099775
Returns: 0
3469785317725
Returns: 0
3626621794516
Returns: 33843
3649289471722
Returns: 136014
3664533202453
Returns: 0
3874916938067
Returns: 0
3886084754314
Returns: 210
3973810409128
Returns: 2114434
3993808963888
Returns: 79506
3997806115966
Returns: 1956810
4079808714874
Returns: 2730
4179991223153
Returns: 0
4237081583942
Returns: 0
4260426153730
Returns: 6
4495763925567
Returns: 0
4536866841662
Returns: 763257
4716190472069
Returns: 0
4913685912167
Returns: 0
5451670890604
Returns: 1817009
5552957798282
Returns: 904533
5647243612904
Returns: 308
5892032097061
Returns: 0
6015535384974
Returns: 25044
6213119684196
Returns: 262060
6217770902656
Returns: 15398332
6280365705894
Returns: 4583073
6956900685014
Returns: 2336211
7181885980146
Returns: 3
7330534537490
Returns: 2754
7431436985374
Returns: 783
7494279020981
Returns: 0
7522925422195
Returns: 0
7661757279033
Returns: 0
7679563574104
Returns: 7
7779728018980
Returns: 3790760
8076841613202
Returns: 3
8284790134104
Returns: 3075380
8285930595881
Returns: 0
8512797450961
Returns: 0
8590693117620
Returns: 41452
8809396721321
Returns: 0
8943769368197
Returns: 0
8978023192025
Returns: 0
9043153583888
Returns: 1386
9138531671183
Returns: 0
9264275901282
Returns: 4034124
9381829959825
Returns: 0
9705089921443
Returns: 0
9865682747176
Returns: 392
9896945567313
Returns: 0
9945137152272
Returns: 107964
9994802905071
Returns: 0
10000000000000
Returns: 25730976
9316358251200
Returns: 2451218611
8995104518400
Returns: 2414977550
4600
Returns: 173
128
Returns: 11
8000000000000
Returns: 26308754
800
Returns: 68
32456787
Returns: 0
7207200000000
Returns: 427719948
4155498547200
Returns: 756118720
4000000000000
Returns: 17438904
6746328388800
Returns: 1970873892
7351344000000
Returns: 942705417
123456789012
Returns: 13
20000
Returns: 411
288
Returns: 47
72
Returns: 13