1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
#include <fstream>

int a[5001] = {
0, 0, 0, 2, 2, 2, 4, 7, 7, 14, 14, 19, 21, 24, 27, 35, 35, 40, 47, 55, 55, 72, 77, 86, 88, 94, 97, 118, 121, 130, 138, 150, 150, 176, 181, 196, 203, 215, 223, 246, 246, 260, 277, 294, 299, 330, 339, 357, 359, 383, 389, 421, 424, 442, 463, 486, 489, 530, 539, 562, 570, 591, 603, 661, 661, 679, 705, 731, 736, 783, 798, 825, 832, 858, 870, 914, 922, 966, 989, 1019, 1019, 1081, 1095, 1127, 1144, 1170, 1187, 1240, 1245, 1277, 1308, 1350, 1359, 1421, 1439, 1477, 1479, 1514, 1538, 1624, 1630, 1666, 1698, 1737, 1740, 1823, 1841, 1882, 1903, 1942, 1965, 2033, 2036, 2077, 2118, 2163, 2172, 2254, 2277, 2333, 2341, 2396, 2417, 2494, 2506, 2548, 2606, 2654, 2654, 2740, 2758, 2808, 2834, 2905, 2931, 3030, 3035, 3085, 3132, 3185, 3200, 3292, 3319, 3381, 3388, 3436, 3462, 3584, 3596, 3650, 3694, 3751, 3759, 3869, 3913, 3973, 3996, 4053, 4083, 4181, 4181, 4265, 4327, 4389, 4403, 4525, 4557, 4620, 4637, 4697, 4723, 4860, 4877, 4940, 4993, 5074, 5079, 5195, 5227, 5295, 5326, 5392, 5434, 5547, 5556, 5619, 5681, 5764, 5782, 5962, 6000, 6072, 6074, 6145, 6180, 6296, 6320, 6392, 6478, 6553, 6559, 6690, 6726, 6822, 6854, 6925, 6964, 7124, 7127, 7231, 7314, 7394, 7412, 7549, 7590, 7673, 7694, 7805, 7844, 7981, 8004, 8081, 8149, 8233, 8236, 8393, 8434, 8520, 8561, 8645, 8690, 8911, 8920, 9006, 9088, 9178, 9201, 9353, 9409, 9499, 9507, 9596, 9651, 9835, 9856, 9976, 10053, 10154, 10166, 10327, 10369, 10464, 10522, 10644, 10692, 10847, 10847, 10942, 11028, 11151, 11169, 11353, 11403, 11502, 11528, 11621, 11692, 11859, 11885, 11984, 12083, 12185, 12190, 12408, 12458, 12577, 12624, 12726, 12779, 12990, 13005, 13109, 13201, 13308, 13335, 13532, 13594, 13731, 13738, 13844, 13892, 14074, 14100, 14208, 14330, 14443, 14455, 14718, 14772, 14892, 14936, 15088, 15145, 15333, 15341, 15449, 15559, 15675, 15719, 15916, 15976, 16093, 16116, 16232, 16289, 16575, 16605, 16722, 16820, 16960, 16960, 17166, 17250, 17384, 17446, 17557, 17619, 17822, 17836, 18001, 18123, 18248, 18280, 18515, 18578, 18706, 18723, 18848, 18908, 19120, 19146, 19307, 19444, 19615, 19632, 19865, 19928, 20059, 20112, 20241, 20322, 20580, 20585, 20716, 20832, 20967, 20999, 21286, 21354, 21489, 21520, 21671, 21737, 22012, 22054, 22185, 22298, 22436, 22445, 22708, 22771, 22948, 23010, 23148, 23231, 23461, 23479, 23614, 23794, 23937, 23975, 24217, 24289, 24433, 24435, 24653, 24724, 25014, 25049, 25193, 25309, 25467, 25491, 25742, 25814, 25964, 26050, 26197, 26272, 26628, 26634, 26783, 26914, 27073, 27109, 27411, 27507, 27686, 27718, 27870, 27941, 28198, 28237, 28443, 28603, 28761, 28764, 29030, 29134, 29292, 29375, 29531, 29611, 29924, 29942, 30091, 30228, 30432, 30473, 30790, 30873, 31035, 31056, 31217, 31328, 31594, 31633, 31830, 31967, 32132, 32155, 32570, 32647, 32814, 32882, 33043, 33127, 33405, 33408, 33575, 33732, 33932, 33973, 34260, 34346, 34559, 34600, 34770, 34854, 35195, 35240, 35411, 35632, 35806, 35815, 36123, 36209, 36385, 36467, 36700, 36790, 37083, 37106, 37327, 37479, 37673, 37729, 38066, 38156, 38336, 38344, 38518, 38607, 39029, 39084, 39260, 39444, 39627, 39648, 39959, 40079, 40264, 40341, 40520, 40621, 41037, 41049, 41295, 41456, 41644, 41686,   // od 0 do 5000
42003, 42098, 42287, 42345, 42528, 42650, 42964, 43012, 43201, 43356, 43601, 43601, 44023, 44118, 44313, 44399, 44638, 44761, 45084, 45102, 45296, 45480, 45677, 45727, 46146, 46245, 46454, 46480, 46696, 46789, 47181, 47252, 47446, 47613, 47816, 47842, 48183, 48282, 48599, 48698, 48899, 49001, 49339, 49344, 49542, 49760, 49966, 50016, 50404, 50523, 50750, 50797, 51070, 51172, 51513, 51566, 51773, 51984, 52202, 52217, 52636, 52740, 52952, 53044, 53250, 53357, 53902, 53929, 54141, 54338, 54553, 54615, 54977, 55114, 55345, 55352, 55567, 55673, 56035, 56083, 56370, 56552, 56809, 56835, 57244, 57352, 57573, 57695, 57955, 58068, 58436, 58448, 58669, 58932, 59213, 59267, 59644, 59764, 59989, 60033, 60257, 60409, 60852, 60909, 61180, 61368, 61596, 61604, 62092, 62200, 62437, 62547, 62775, 62891, 63271, 63315, 63545, 63742, 63975, 64035, 64533, 64650, 64949, 64972, 65200, 65316, 65834, 65891, 66121, 66407, 66644, 66674, 67075, 67192, 67432, 67530, 67845, 67985, 68451, 68451, 68690, 68896, 69138, 69222, 69644, 69778, 70021, 70083, 70382, 70493, 71050, 71112, 71355, 71558, 71806, 71820, 72287, 72452, 72700, 72822, 73068, 73193, 73603, 73635, 73988, 74223, 74493, 74556, 74978, 75106, 75402, 75419, 75670, 75795, 76290, 76350, 76602, 76814, 77140, 77166, 77597, 77758, 78015, 78152, 78403, 78574, 79002, 79019, 79271, 79504, 79764, 79827, 80576, 80707, 80970, 81023, 81280, 81409, 81846, 81927, 82188, 82446, 82736, 82741, 83199, 83330, 83669, 83785, 84049, 84184, 84701, 84733, 85042, 85329, 85640, 85708, 86160, 86295, 86565, 86596, 86950, 87101, 87553, 87619, 87880, 88155, 88428, 88470, 89019, 89150, 89437, 89550, 89823, 89961, 90569, 90578, 90916, 91179, 91457, 91520, 92032, 92209, 92488, 92550, 92823, 92961, 93506, 93589, 93957, 94187, 94469, 94487, 94963, 95098, 95383, 95563, 95845, 95988, 96599, 96637, 96921, 97163, 97529, 97601, 98140, 98284, 98580, 98582, 98869, 99087, 99569, 99640, 99928, 100218, 100524, 100559, 101182, 101326, 101649, 101765, 102121, 102279, 102855, 102879, 103167, 103418, 103714, 103786, 104283, 104433, 104813, 104899, 105190, 105337, 105828, 105903, 106200, 106556, 106867, 106873,  // od 501 do 800
107442, 107591, 107947, 108078, 108498, 108657, 109160, 109196, 109498, 109800, 110105, 110201, 110713, 110892, 111200, 111232, 111588, 111740, 112485, 112556, 112862, 113119, 113428, 113467, 114075, 114281, 114592, 114752, 115061, 115219, 115737, 115740, 116153, 116419, 116734, 116838, 117495, 117653, 117968, 118051, 118363, 118519, 119046, 119126, 119432, 119745, 120235, 120253, 120789, 120938, 121283, 121420, 121738, 121942, 122613, 122654, 122974, 123291, 123614, 123697, 124389, 124551, 124875, 124896, 125214, 125375, 125917, 126028, 126423, 126689, 127024, 127063, 127683, 127880, 128297, 128434, 128761, 128926, 129474, 129497, 129826, 130241, 130573, 130650, 131222, 131389, 131722, 131790, 132225, 132386, 133177, 133261, 133647, 133925, 134263, 134266, 134874, 135041, 135398, 135555, 135887, 136087, 136848, 136889, 137222, 137509, 137850, 137936, 138579, 138792, 139134, 139175, 139591, 139761, 140327, 140411, 140860, 141201, 141546, 141591, 142172, 142343, 142697, 142918, 143254, 143428, 144098, 144107, 144454, 144762, 145274, 145360, 145947, 146123, 146533, 146615, 146965, 147198, 147785, 147875, 148226, 148519, 148902, 148925, 149819, 150040, 150396, 150548, 150898, 151092, 151685, 151741, 152097, 152434, 152794, 152884, 153591, 153771, 154232, 154240, 154624, 154798, 155496, 155585, 155941, 156363, 156726, 156781, 157455, 157631, 157996, 158180, 158656, 158839, 159438, 159459, 159824, 160135, 160569, 160689, 161383, 161568, 161937, 162014, 162377, 162556, 163383, 163484, 163906, 164322, 164694, 164706, 165332, 165578, 165953, 166114, 166486, 166674, 167409, 167451,  // od 801 do 1000
168020, 168337, 168726, 168821, 169468, 169657, 170073, 170131, 170508, 170691, 171323, 171445, 171823, 172137, 172620, 172668, 173390, 173579, 173962, 174117, 174498, 174743, 175549, 175549, 175923, 176345, 176738, 176833, 177690, 177885, 178272, 178358, 178744, 178983, 179779, 179902, 180285, 180608, 180998, 181016, 181672, 181866, 182367, 182551, 183063, 183260, 183913, 183963, 184355, 184774, 185169, 185268, 186053, 186262, 186660, 186686, 187202, 187418, 188080, 188173, 188569, 188961, 189360, 189431, 190114, 190308, 190781, 190948, 191347, 191550, 192527, 192553, 192949, 193290, 193709, 193808, 194485, 194802, 195215, 195314, 195773, 195974, 196729, 196831, 197386, 197724, 198132, 198137, 199067, 199265, 199675, 199893, 200301, 200507, 201187, 201237, 201647, 202035, 202563, 202682,  // od 1001 do 1100
203374, 203601, 204015, 204062, 204457, 204730, 205548, 205650, 206064, 206405, 206896, 206949, 207842, 208049, 208469, 208680, 209097, 209315, 210013, 210028, 210510, 210929, 211351, 211455, 212248, 212460, 213069, 213161, 213583, 213789, 214490, 214597, 215109, 215654, 216082, 216109, 216825, 217037, 217477, 217674, 218231, 218446, 219269, 219331, 219754, 220116, 220572, 220709, 221431, 221662, 222094, 222101, 222532, 222747, 223844, 223950, 224378, 224740, 225219, 225267, 226166, 226453, 226890, 227072, 227503, 227760, 228488, 228514, 229084, 229493, 229933, 230041, 230838, 231059, 231515, 231637, 232170, 232430, 233281, 233394, 233835, 234203, 234770, 234782, 235540, 235761, 236207, 236470, 236910, 237191, 237934, 237988, 238434, 238811, 239261, 239381, 240589, 240814, 241344, 241388,  // od 1101 do 1200
241837, 242061, 242813, 242965, 243411, 243854, 244318, 244375, 245178, 245449, 246031, 246219, 246672, 246900, 247810, 247818, 248273, 248761, 249256, 249364, 250266, 250503, 250962, 251072, 251678, 251906, 252673, 252789, 253248, 253628, 254090, 254134, 255009, 255239, 255745, 255942, 256404, 256637, 257668, 257728, 258189, 258687, 259238, 259355, 260152, 260451, 260939, 260962, 261429, 261657, 262559, 262675, 263286, 263804, 264277, 264334, 265125, 265355, 265828, 266114, 266581, 266818, 267606, 267636, 268244, 268645, 269254, 269371, 270346, 270586, 271092, 271190, 271735, 272050, 272838, 272978, 273455, 273921, 274401, 274401, 275429, 275668, 276150, 276356, 276832, 277074, 278153, 278237, 278719, 279141, 279626, 279760, 280572, 280815, 281433, 281495, 281980, 282279, 283091, 283202,  // od 1201 do 1300
283688, 284245, 284734, 284796, 285715, 285958, 286449, 286652, 287398, 287646, 288632, 288646, 289132, 289599, 290094, 290259, 291086, 291334, 291829, 291951, 292445, 292691, 293984, 294109, 294595, 295005, 295503, 295535, 296371, 296724, 297324, 297559, 298116, 298386, 299216, 299279, 299930, 300352, 300862, 300990, 301939, 302235, 302750, 302767, 303265, 303516, 304358, 304483, 305058, 305553,  // od 1301 do 1350
306203, 306263, 307267, 307519, 308029, 308241, 308813, 309139, 310115, 310141, 310650, 311081, 311612, 311773, 312864, 313121, 313634, 313771, 314281, 314532, 315389, 315560, 316073, 316501, 317106, 317123, 318154, 318406, 319069, 319302, 319818, 320078, 320941, 321004, 321517, 322266, 322841, 322972, 323844, 324107, 324637, 324690, 325368, 325625, 326676, 326805, 327434, 327871, 328396, 328477,  // od 1351 do 1400
329358, 329619, 330189, 330447, 330968, 331258, 332424, 332429, 332956, 333414, 333956, 334087, 335087, 335426, 335959, 336075, 336600, 336864, 337967, 338102, 338807, 339324, 339858, 339890, 340873, 341182, 341718, 342005, 342539, 342850, 343903, 343971, 344507, 344959, 345645, 345780, 346682, 346952, 347492, 347523, 348173, 348527, 349423, 349574, 350106, 350558, 351101, 351167, 352602, 352863,  // od 1401 do 1450
353408, 353683, 354226, 354499, 355404, 355446, 356052, 356601, 357149, 357280, 358197, 358484, 359407, 359520, 360063, 360336, 361391, 361529, 362074, 362682, 363234, 363243, 364169, 364507, 365076, 365339, 366058, 366336, 367256, 367319,  // od 1451 do 1480
367873, 368385, 368942, 369119, 370414, 370693, 371251, 371313, 371870, 372143, 373375, 373513, 374071, 374616, 375219, 375302, 376243, 376611, 377174, 377404, 378042, 378324, 379402, 379420, 380178, 380654, 381322, 381457, 382404, 382689,  // od 1481 do 1510
383256, 383436, 383999, 384281, 385222, 385365, 385928, 386539, 387343, 387381, 388456, 388740, 389312, 389554, 390115, 390481, 391434, 391506, 392195, 392734, 393309, 393453, 394685, 394981, 395559, 395561, 396131, 396418, 397692, 397910,  // od 1511 do 1540
398557, 399039, 399618, 399689, 400672, 400960, 401700, 401990, 402569, 402875, 404071, 404106, 404687, 405310, 405895, 406039, 407141, 407464, 408049, 408165, 408924, 409280, 410257, 410415, 410996, 411572, 412160, 412184, 413170, 413458,  // od 1541 do 1570
414048, 414299, 415005, 415301, 416733, 416805, 417476, 417973, 418566, 418716, 419768, 420148, 420742, 420828, 421416, 421707, 422789, 422936, 423709, 424200, 424823, 424898, 426115, 426412, 427113, 427469, 428066, 428377, 429372, 429378,  // od 1571 do 1600
};

void do_pliku(int aktualna, int odliczba, int doliczba)
{
    std::ofstream plik;
    plik.open( "aaa.txt" );
    if( !plik.good() )
         return;

    // przekatna maks = 5000
    long ilosc=aktualna;
    
    for(long przekatna=odliczba; przekatna<=doliczba; przekatna++)
    {
//        std::cout << "przekatna = " << przekatna << "\n";
        for(long h=1; h<przekatna; h++)
        {
//            std::cout << "i= " << i << " j = " << j << "\n";
            for(long a=1; a<przekatna; a++)
                for(long b=a; b<przekatna; b++)
                {
                    if(h*h+a*a+b*b==przekatna*przekatna)
                    {
                        ilosc++;
                    }
                }
        }
        std::cout << ilosc << ", ";
        plik << ilosc << ", ";
    }
    plik.close();

}
int main()
{
    //do_pliku(((long) 429378), 1601, 1630);  // poprzednia, od, do // aktualna = biore ostatnia wartosc; o 1 wieksza od doliczba; do jakiego chce przedzialu
    int n;
    std:: cin >> n;
    std::cout << a[n];
    return 0;
}