aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2022-06-11 11:35:32 +0100
committerdrbaggy <js5@sanger.ac.uk>2022-06-11 11:35:32 +0100
commited0f1ce43611c56af49cc9992ce3ba00b516955d (patch)
treed8ddf05db40e26bb16ddc7b27413fa55d6705dcc
parentf51e81fdf7b9891b5f546e1b238d506a3cbd67f9 (diff)
parent5ab544ff04f386bec6ccb92c47ae496fb325860c (diff)
downloadperlweeklychallenge-club-ed0f1ce43611c56af49cc9992ce3ba00b516955d.tar.gz
perlweeklychallenge-club-ed0f1ce43611c56af49cc9992ce3ba00b516955d.tar.bz2
perlweeklychallenge-club-ed0f1ce43611c56af49cc9992ce3ba00b516955d.zip
Merge branch 'master' of github.com:drbaggy/perlweeklychallenge-club
-rw-r--r--challenge-168/james-smith/README.md686
1 files changed, 604 insertions, 82 deletions
diff --git a/challenge-168/james-smith/README.md b/challenge-168/james-smith/README.md
index e5e368c7c4..f718e332c8 100644
--- a/challenge-168/james-smith/README.md
+++ b/challenge-168/james-smith/README.md
@@ -41,89 +41,611 @@ my ($r,$s,$t)=(3,0,Math::BigInt->new(2));
```
This gives us the following numbers - the large values may not be correct as
the algorithm does best efforts and doesn't use an exhaustive scan of all
-possible factors, the 25th one has 1,111 digits
+possible factors, the 25th one has 1,111 digits, and the 30th has 5,496 digits.
```
- 2
- 3
- 5
- 7
- 17
- 29
-277
-367
-853
- 14,197
- 43,721
- 1,442,968,193
-792,606,555,396,977
-187,278,659,180,417,234,321
- 66,241,160,488,780,141,071,579,864,797
- 22,584,751,787,583,336,797,527,561,822,649,328,254,745,329
- 29,918,426,252,927,024,136,988,188,355,201,180,399,482,197
-375,650,352,810,749,628,391,658,393,147,651,164,149,079,195,002,314,045,
- 738,061,982,119,710,039,976,648,976,965,060,598,469,931,973,177,804,
- 611,901,813
- 17,889,871,724,792,219,792,241,402,014,701,050,416,254,403,054,909,819,
- 082,963,323,121,939,408,639,274,412,767,017,724,313,639,101,409,409,
- 795,922,319,558,694,157,739,957
- 18,106,564,606,349,058,350,871,445,556,416,183,706,383,627,605,153,862,
- 231,876,341,960,946,635,847,221,883,756,661,544,295,450,957,270,512,
- 362,655,785,866,338,801,138,896,957,806,303,459,431,839,801
- 26,443,665,126,671,039,192,963,010,650,954,408,309,392,693,422,822,076,
- 064,578,125,303,560,832,561,672,888,722,088,906,692,033,449,248,344,
- 378,194,605,701,099,265,071,815,485,284,432,217,750,405,098,433,434,
- 144,179,485,693,746,031,340,517
- 1,213,927,704,065,079,865,017,068,478,668,276,043,626,477,148,780,514,
- 011,765,015,731,886,286,159,454,983,721,480,068,033,892,046,357,328,
- 417,429,372,450,987,777,059,793,416,910,075,913,180,181,245,051,185,
- 193,201,551,033,755,831,307,534,780,351,082,477,949,347,441
- 10,157,009,252,817,374,963,867,100,949,951,608,928,714,862,242,745,008,
- 993,013,668,540,854,184,107,874,570,804,968,501,397,570,379,041,274,
- 564,782,116,665,400,515,007,185,872,727,535,557,633,044,532,545,504,
- 298,417,513,460,010,708,859,590,624,519,737,577,132,699,128,528,530,
- 905,048,976,280,744,785,692,707,368,299,964,909,111,445,284,217,209,
- 819,026,508,401,682,969,213,029,773,502,708,330,316,828,337,469,827,
- 393,737,449,858,748,826,727,773,566,201,071,908,906,567,992,775,961,
- 863,663,250,545,199,702,810,339,801,764,180,200,620,104,056,601,639,
- 153,965,055,826,816,646,056,412,891,949,330,608,030,933,040,756,303,
- 987,388,596,508,709,113,305,229,398,404,925,505,186,056,022,798,817,
- 893,091,541,647,706,591,557,044,644,581
- 3,631,640,163,992,448,158,050,321,979,101,634,523,424,467,070,532,989,
- 940,589,376,200,895,999,542,521,324,121,865,744,873,084,026,078,365,
- 592,113,103,829,057,044,319,371,093,458,267,314,150,632,770,247,926,
- 037,880,226,504,980,936,257,910,602,481,948,018,841,362,454,143,562,
- 440,537,190,514,898,173,776,176,693,598,426,395,086,189,616,722,660,
- 098,879,586,330,664,613,823,090,197,360,409,779,437,591,689,520,837,
- 492,830,513,163,054,777,061,491,401,259,817,572,546,197,753,109,857,
- 199,993,236,881,971,656,255,401,039,799,820,579,630,315,398,215,866,
- 349,742,611,432,329,007,353,997,352,494,443,986,017,317,922,833,363,
- 523,351,835,711,663,212,252,398,827,126,207,580,953,779,469,798,265,
- 218,514,506,497,114,067,477,064,259,789,799,733,135,324,524,166,520,
- 280,952,689,291,443,318,735,365,943,242,441,087,374,207,019,201,381,
- 566,622,887,361,047,383,284,786,893,087,439,845,660,097,204,995,566,
- 088,460,835,424,395,601,898,782,600,822,606,786,314,286,293
- 2,219,044,107,563,366,280,125,882,554,584,749,275,765,334,696,920,954,
- 707,908,016,835,306,595,717,633,852,868,322,311,975,692,852,664,517,
- 100,196,388,216,185,466,256,781,811,629,490,339,018,476,958,341,423,
- 474,211,703,736,695,517,844,284,835,529,838,650,317,818,556,051,258,
- 418,641,466,473,522,496,581,011,902,709,035,886,778,717,452,108,700,
- 155,970,126,389,875,329,986,734,382,348,653,211,376,368,344,688,390,
- 461,606,168,880,878,403,666,028,447,970,631,164,159,760,593,687,145,
- 545,886,396,290,330,053,367,251,405,062,861,688,751,190,590,145,302,
- 902,036,352,069,892,640,867,792,281,047,623,995,380,029,998,885,072,
- 389,834,691,845,180,458,330,031,190,164,195,835,720,970,532,382,904,
- 375,909,996,290,964,537,793,186,771,320,552,080,008,575,799,336,721,
- 259,794,322,290,929,553,980,616,543,051,782,912,060,889,838,405,225,
- 710,047,974,384,273,630,158,925,203,871,673,773,377,987,293,309,129,
- 339,404,395,731,429,013,268,854,882,845,620,367,126,605,068,300,392,
- 529,925,817,814,239,701,362,999,633,802,539,696,168,715,197,247,149,
- 129,309,343,328,693,492,609,154,962,326,446,655,316,407,662,545,173,
- 312,263,693,868,901,442,507,821,627,007,923,602,173,657,448,415,818,
- 836,881,970,741,894,299,422,830,356,726,700,391,358,661,731,817,186,
- 882,034,993,006,807,831,454,673,264,747,496,927,244,085,026,523,852,
- 798,867,657,837,248,743,977,858,010,507,439,069,833,507,207,554,629,
- 542,720,934,827,351,494,206,895,735,690,852,994,106,560,067,899,320,
- 290,685,428,051,387,821,434,771,363,835,714,805,717
+ 1 : 2
+
+ 2 : 3
+
+ 3 : 5
+
+ 4 : 7
+
+ 5 : 17
+
+ 6 : 29
+
+ 7 : 277
+
+ 8 : 367
+
+ 9 : 853
+
+ 10 : 14,197
+
+ 11 : 43,721
+
+ 12 : 1,442,968,193
+
+ 13 : 792,606,555,396,977
+
+ 14 : 187,278,659,180,417,234,321
+
+ 15 : 66,241,160,488,780,141,071,579,864,797
+
+ 16 : 22,584,751,787,583,336,797,527,561,822,649,328,254,745,329
+
+ 17 : 29,918,426,252,927,024,136,988,188,355,201,180,399,482,197
+
+ 18 : 375,650,352,810,749,628,391,658,393,147,651,164,149,079,195,002,314,045,738,
+ 061,982,119,710,039,976,648,976,965,060,598,469,931,973,177,804,611,901,
+ 813
+
+ 19 : 17,889,871,724,792,219,792,241,402,014,701,050,416,254,403,054,909,819,082,
+ 963,323,121,939,408,639,274,412,767,017,724,313,639,101,409,409,795,922,
+ 319,558,694,157,739,957
+
+ 20 : 18,106,564,606,349,058,350,871,445,556,416,183,706,383,627,605,153,862,231,
+ 876,341,960,946,635,847,221,883,756,661,544,295,450,957,270,512,362,655,
+ 785,866,338,801,138,896,957,806,303,459,431,839,801
+
+ 21 : 26,443,665,126,671,039,192,963,010,650,954,408,309,392,693,422,822,076,064,
+ 578,125,303,560,832,561,672,888,722,088,906,692,033,449,248,344,378,194,
+ 605,701,099,265,071,815,485,284,432,217,750,405,098,433,434,144,179,485,
+ 693,746,031,340,517
+
+ 22 : 1,213,927,704,065,079,865,017,068,478,668,276,043,626,477,148,780,514,011,
+ 765,015,731,886,286,159,454,983,721,480,068,033,892,046,357,328,417,429,
+ 372,450,987,777,059,793,416,910,075,913,180,181,245,051,185,193,201,551,
+ 033,755,831,307,534,780,351,082,477,949,347,441
+
+ 23 : 10,157,009,252,817,374,963,867,100,949,951,608,928,714,862,242,745,008,993,
+ 013,668,540,854,184,107,874,570,804,968,501,397,570,379,041,274,564,782,
+ 116,665,400,515,007,185,872,727,535,557,633,044,532,545,504,298,417,513,
+ 460,010,708,859,590,624,519,737,577,132,699,128,528,530,905,048,976,280,
+ 744,785,692,707,368,299,964,909,111,445,284,217,209,819,026,508,401,682,
+ 969,213,029,773,502,708,330,316,828,337,469,827,393,737,449,858,748,826,
+ 727,773,566,201,071,908,906,567,992,775,961,863,663,250,545,199,702,810,
+ 339,801,764,180,200,620,104,056,601,639,153,965,055,826,816,646,056,412,
+ 891,949,330,608,030,933,040,756,303,987,388,596,508,709,113,305,229,398,
+ 404,925,505,186,056,022,798,817,893,091,541,647,706,591,557,044,644,581
+
+ 24 : 3,631,640,163,992,448,158,050,321,979,101,634,523,424,467,070,532,989,940,
+ 589,376,200,895,999,542,521,324,121,865,744,873,084,026,078,365,592,113,
+ 103,829,057,044,319,371,093,458,267,314,150,632,770,247,926,037,880,226,
+ 504,980,936,257,910,602,481,948,018,841,362,454,143,562,440,537,190,514,
+ 898,173,776,176,693,598,426,395,086,189,616,722,660,098,879,586,330,664,
+ 613,823,090,197,360,409,779,437,591,689,520,837,492,830,513,163,054,777,
+ 061,491,401,259,817,572,546,197,753,109,857,199,993,236,881,971,656,255,
+ 401,039,799,820,579,630,315,398,215,866,349,742,611,432,329,007,353,997,
+ 352,494,443,986,017,317,922,833,363,523,351,835,711,663,212,252,398,827,
+ 126,207,580,953,779,469,798,265,218,514,506,497,114,067,477,064,259,789,
+ 799,733,135,324,524,166,520,280,952,689,291,443,318,735,365,943,242,441,
+ 087,374,207,019,201,381,566,622,887,361,047,383,284,786,893,087,439,845,
+ 660,097,204,995,566,088,460,835,424,395,601,898,782,600,822,606,786,314,
+ 286,293
+
+ 25 : 2,219,044,107,563,366,280,125,882,554,584,749,275,765,334,696,920,954,707,
+ 908,016,835,306,595,717,633,852,868,322,311,975,692,852,664,517,100,196,
+ 388,216,185,466,256,781,811,629,490,339,018,476,958,341,423,474,211,703,
+ 736,695,517,844,284,835,529,838,650,317,818,556,051,258,418,641,466,473,
+ 522,496,581,011,902,709,035,886,778,717,452,108,700,155,970,126,389,875,
+ 329,986,734,382,348,653,211,376,368,344,688,390,461,606,168,880,878,403,
+ 666,028,447,970,631,164,159,760,593,687,145,545,886,396,290,330,053,367,
+ 251,405,062,861,688,751,190,590,145,302,902,036,352,069,892,640,867,792,
+ 281,047,623,995,380,029,998,885,072,389,834,691,845,180,458,330,031,190,
+ 164,195,835,720,970,532,382,904,375,909,996,290,964,537,793,186,771,320,
+ 552,080,008,575,799,336,721,259,794,322,290,929,553,980,616,543,051,782,
+ 912,060,889,838,405,225,710,047,974,384,273,630,158,925,203,871,673,773,
+ 377,987,293,309,129,339,404,395,731,429,013,268,854,882,845,620,367,126,
+ 605,068,300,392,529,925,817,814,239,701,362,999,633,802,539,696,168,715,
+ 197,247,149,129,309,343,328,693,492,609,154,962,326,446,655,316,407,662,
+ 545,173,312,263,693,868,901,442,507,821,627,007,923,602,173,657,448,415,
+ 818,836,881,970,741,894,299,422,830,356,726,700,391,358,661,731,817,186,
+ 882,034,993,006,807,831,454,673,264,747,496,927,244,085,026,523,852,798,
+ 867,657,837,248,743,977,858,010,507,439,069,833,507,207,554,629,542,720,
+ 934,827,351,494,206,895,735,690,852,994,106,560,067,899,320,290,685,428,
+ 051,387,821,434,771,363,835,714,805,717
+
+ 26 : 533,169,339,675,430,157,944,485,129,771,607,486,093,127,698,557,229,554,199,
+ 609,130,375,971,702,490,340,293,719,249,275,559,748,660,209,489,256,567,
+ 467,521,758,040,575,267,419,254,221,718,316,847,075,811,070,784,729,193,
+ 799,469,019,818,311,615,703,570,606,844,358,754,899,564,972,900,428,150,
+ 317,284,556,015,050,721,171,892,588,943,807,960,999,992,155,391,403,134,
+ 904,322,147,729,976,761,824,427,921,515,921,141,184,779,351,717,542,835,
+ 635,794,350,012,429,364,493,978,682,607,845,935,345,793,305,749,063,513,
+ 756,516,055,082,439,245,765,328,835,032,766,480,010,345,225,701,056,920,
+ 747,934,367,684,001,196,625,135,638,106,463,669,593,979,992,859,600,033,
+ 277,765,342,450,502,251,695,332,756,547,406,039,994,394,872,595,931,838,
+ 858,802,240,810,890,859,675,846,677,645,687,638,290,408,314,257,956,335,
+ 401,608,802,102,860,797,183,771,896,569,855,829,718,467,546,935,114,865,
+ 472,756,713,406,278,557,314,629,117,364,221,315,011,550,662,999,447,490,
+ 684,278,762,689,954,815,681,716,506,387,207,308,976,790,637,200,982,511,
+ 814,627,188,476,693,570,112,760,581,722,855,777,079,773,896,776,017,339,
+ 124,081,344,035,106,707,554,632,421,068,203,415,702,199,614,991,135,059,
+ 133,650,506,905,298,271,050,971,205,329,564,050,491,001,797,562,908,270,
+ 572,712,870,336,856,136,855,996,801,038,165,442,112,459,626,857,453,711,
+ 200,880,990,269,736,667,278,016,102,884,935,219,135,923,645,361,654,916,
+ 189,537,656,948,472,919,977,399,058,447,251,951,215,060,426,929,172,261,
+ 845,636,540,367,447,985,382,748,529,744,003,559,696,147,071,195,229,567,
+ 447,390,586,564,606,045,595,157,425,901,892,469,796,218,865,443,864,548,
+ 698,865,479,775,049,830,781,685,442,392,770,111,712,648,694,687,581,261,
+ 547,591,878,051,369,870,846,459,684,333,000,593,182,065,691,829,602,456,
+ 638,569,153,175,539,935,301,646,594,744,729,650,999,769,900,780,885,010,
+ 979,418,868,844,971,788,474,343,034,690,250,167,369,806,468,140,961,242,
+ 965,733,965,468,980,266,106,864,394,322,862,077,577,015,007,883,678,271,
+ 475,488,215,913,140,344,757,563,355,485,604,998,387,830,823,768,209,013,
+ 649,328,614,131,431,773,455,896,485,976,245,061,522,273,698,465,903,487,
+ 724,653,155,187,466,876,921,748,965,893,711,605,912,788,340,129,233,690,
+ 857,542,842,382,603,807,336,783,162,078,977,349,986,150,634,494,180,880,
+ 593,359,145,535,449,203,985,460,772,704,704,242,794,947,920,851,306,078,
+ 008,651,016,691,366,856,283,183,624,882,037,286,083,300,452,092,201,265,
+ 939,658,744,702,083,706,701,885,184,866,622,246,901,958,643,294,666,304,
+ 831,014,823,212,877,922,728,587,359,458,277,556,258,338,808,589,666,603,
+ 614,031,231,953,380,449,569,626,666,001,884,018,367,624,312,976,387,307,
+ 198,737,083,847,131,154,188,053,958,331,252,232,149
+
+ 27 : 20,319,455,378,875,006,146,478,991,848,252,494,277,169,943,232,918,238,958,
+ 685,007,117,951,855,479,420,046,771,958,091,255,169,313,143,080,486,366,
+ 801,489,553,616,314,804,392,908,365,201,856,849,929,256,993,911,744,713,
+ 056,867,472,390,014,096,936,259,598,134,607,981,776,136,346,459,371,017,
+ 776,084,385,824,432,436,403,210,999,920,869,465,258,360,045,514,188,167,
+ 208,321,511,500,525,471,356,492,902,349,743,487,542,427,030,581,543,033,
+ 001,550,805,900,582,156,192,599,657,928,177,329,840,971,615,806,921,551,
+ 443,327,978,734,720,599,518,422,147,352,209,378,680,564,979,889,773,337,
+ 728,777,020,338,811,123,525,061,762,165,814,543,969,410,434,883,333,202,
+ 756,334,369,943,269,953,484,046,760,738,824,766,027,857,898,613,371,371,
+ 175,564,090,871,142,557,670,787,132,915,498,332,589,050,124,871,078,692,
+ 317,952,913,852,980,842,222,921,855,655,381,645,743,187,502,036,749,339,
+ 404,279,310,713,153,686,135,271,776,867,630,929,715,587,796,457,108,163,
+ 510,773,256,159,715,701,447,184,232,119,880,101,637,189,589,114,615,173,
+ 879,166,677,004,666,315,902,884,885,348,991,408,404,951,403,744,701,185,
+ 252,529,689,065,139,863,037,530,523,395,544,986,256,469,978,869,043,530,
+ 219,417,095,725,648,444,901,687,722,303,935,920,787,053,817,268,641,491,
+ 275,358,721,365,471,835,127,511,232,874,432,917,453,687,081,502,198,462,
+ 319,266,143,993,942,594,710,551,129,446,919,013,495,237,110,294,369,201,
+ 312,207,556,785,909,104,437,754,942,172,550,713,090,863,579,505,283,388,
+ 447,724,837,499,546,448,387,722,328,944,831,132,020,325,001,237,743,002,
+ 414,477,323,649,585,692,411,712,777,709,803,950,941,019,072,226,110,001,
+ 545,411,067,168,501,942,791,315,302,125,509,946,519,735,693,674,079,618,
+ 609,131,341,957,063,945,642,361,890,938,639,824,352,288,479,100,789,384,
+ 525,527,703,757,334,249,912,282,936,656,846,588,881,740,277,463,488,128,
+ 406,387,974,777,203,933,729,018,990,192,052,663,443,541,353,864,083,512,
+ 940,188,939,255,901,613,317,913,717,459,667,748,392,962,787,085,734,996,
+ 190,452,989,287,206,648,962,970,633,956,650,799,955,898,152,529,882,336,
+ 532,821,188,491,980,486,673,080,846,674,692,227,154,418,999,154,804,859,
+ 124,894,104,998,417,904,185,133,782,508,911,576,996,443,330,773,192,113,
+ 918,707,644,060,844,031,256,074,434,694,712,311,002,016,290,969,828,202,
+ 118,584,139,169,626,624,700,434,941,634,849,838,106,325,419,478,539,506,
+ 024,972,885,034,896,525,620,716,175,861,550,228,480,754,381,813,075,228,
+ 567,036,711,648,168,742,308,894,060,215,105,565,636,476,188,697,580,878,
+ 679,234,491,883,502,891,003,921,047,364,395,927,744,891,562,331,595,010,
+ 238,669,146,721,751,409,368,217,040,670,852,586,927,825,575,987,453,792,
+ 539,502,842,262,623,132,749,667,629,830,682,513,034,914,960,865,947,034,
+ 148,777,390,370,731,391,177,639,959,845,942,617,986,934,623,024,061,273,
+ 395,479,009,392,094,931,742,938,185,711,719,004,079,652,010,287,258,633,
+ 443,033,431,411,027,369,698,980,934,193,859,958,521,712,896,379,857,460,
+ 548,726,488,598,121,986,030,369,045,969,736,511,547,233,872,935,597,194,
+ 509,300,128,106,763,333,249,360,919,493,221,271,292,953,584,627,328,115,
+ 014,884,410,630,442,270,897,869,990,625,389,710,673,761
+
+ 28 : 120,472,723,555,222,102,646,146,300,022,112,643,492,019,790,681,912,031,172,
+ 040,867,228,571,131,828,158,280,546,093,814,076,450,483,900,622,875,267,
+ 615,157,428,647,700,972,518,754,289,081,105,344,060,423,798,887,225,095,
+ 620,973,346,094,482,101,162,934,262,490,423,905,146,064,049,857,714,444,
+ 204,769,294,872,603,839,133,261,499,975,844,048,447,639,947,704,237,531,
+ 399,337,098,134,951,735,304,017,514,602,476,893,628,646,230,303,043,050,
+ 490,131,831,509,381,799,456,476,063,526,839,084,986,445,021,320,859,700,
+ 645,627,297,905,238,044,731,451,620,087,013,954,781,825,995,415,508,822,
+ 331,342,667,754,933,370,475,424,642,359,349,618,498,996,226,749,665,703,
+ 177,957,088,482,102,418,882,461,912,500,655,725,051,032,865,200,826,038,
+ 840,225,114,038,783,283,849,222,996,623,650,452,704,059,440,103,971,183,
+ 613,626,291,232,397,108,341,899,221,592,812,221,888,203,811,240,047,462,
+ 901,537,030,726,235,641,034,543,427,453,414,716,048,238,916,925,854,159,
+ 198,789,890,041,672,614,606,634,439,130,543,434,833,379,847,831,580,222,
+ 745,269,668,848,252,550,153,618,551,737,534,267,741,692,729,812,853,605,
+ 259,517,053,090,040,813,757,201,989,206,342,096,309,799,236,081,801,507,
+ 862,776,091,135,702,779,201,140,101,905,379,135,240,201,674,501,881,779,
+ 987,128,234,557,180,655,318,289,981,646,437,775,185,663,665,817,579,529,
+ 742,152,721,349,731,317,691,263,054,284,855,521,652,585,594,142,756,791,
+ 577,065,143,345,154,249,073,501,751,252,547,066,954,362,208,609,620,003,
+ 660,206,802,558,188,421,566,158,661,853,206,331,719,244,722,911,913,470,
+ 388,238,201,403,091,734,677,824,640,665,120,503,458,299,308,176,804,250,
+ 736,802,607,365,130,913,932,185,670,760,817,212,107,147,699,730,817,630,
+ 853,108,247,374,929,795,798,975,980,525,462,315,087,191,015,602,108,942,
+ 746,039,139,619,602,660,235,888,612,930,617,773,513,891,575,946,135,002,
+ 914,122,954,070,866,246,038,628,488,073,373,451,539,775,330,799,816,563,
+ 211,893,605,751,389,565,962,468,056,323,583,993,437,619,475,787,619,221,
+ 300,470,988,625,614,720,998,949,400,111,251,489,359,688,167,596,170,214,
+ 668,451,103,345,853,454,669,437,930,786,212,061,186,372,619,312,094,256,
+ 692,089,834,321,424,934,392,700,885,833,328,669,487,572,898,014,105,268,
+ 564,116,077,153,215,532,553,649,788,265,958,740,699,543,953,348,771,831,
+ 650,432,919,648,712,671,007,238,272,052,297,480,670,547,116,413,695,279,
+ 490,688,842,141,352,276,574,361,763,853,994,158,325,557,342,633,788,786,
+ 501,669,339,445,229,250,346,005,972,656,829,448,311,854,357,324,450,205,
+ 224,512,882,413,751,264,768,375,706,629,427,591,888,903,865,241,453,767,
+ 258,841,591,229,131,144,096,206,557,539,187,444,188,960,196,620,047,873,
+ 363,362,250,187,212,131,413,398,614,138,689,450,159,654,082,508,820,939,
+ 167,709,600,272,796,079,020,989,144,331,614,487,471,364,083,633,912,550,
+ 401,620,789,944,481,690,921,451,591,572,020,963,543,861,173,620,007,066,
+ 527,607,077,288,998,151,314,511,513,963,213,246,857,657,217,398,057,594,
+ 429,490,376,039,102,250,181,673,877,812,870,315,493,330,334,768,128,869,
+ 405,041,362,739,909,909,846,308,701,359,575,830,902,906,014,186,146,640,
+ 076,333,734,869,379,997,125,596,693,632,530,740,367,058,193,366,574,152,
+ 546,889,302,216,402,265,297,630,427,890,401,434,310,732,976,783,703,741,
+ 000,081,819,000,952,292,676,067,280,731,826,140,689,394,485,012,766,060,
+ 368,591,276,420,675,231,479,671,788,362,765,897,666,988,837,952,890,084,
+ 750,563,094,089,458,597,553,999,293,805,412,187,469,564,954,140,568,876,
+ 962,989,078,047,301,556,166,888,238,923,174,129,289,433,956,177,846,441,
+ 525,360,416,049,159,390,246,517,573,194,850,123,491,667,236,425,156,852,
+ 333,894,912,691,666,047,580,225,450,879,220,129,313,004,714,542,998,194,
+ 910,917,669,990,693,648,322,643,901,587,280,195,784,253,241,039,690,840,
+ 561,364,296,883,795,376,770,049,448,244,576,359,041,350,568,349,164,606,
+ 213,682,538,437,713,811,603,676,333,781,332,444,879,964,625,158,752,459,
+ 105,260,728,465,738,892,925,508,820,577
+
+ 29 : 138,745,741,830,432,464,268,601,598,289,646,042,010,466,186,520,909,297,278,
+ 984,041,631,847,501,466,011,836,239,736,840,292,969,923,805,592,085,901,
+ 177,854,851,423,785,938,028,761,969,115,817,320,371,856,976,809,098,658,
+ 940,659,582,566,885,909,027,752,689,637,325,962,141,211,069,806,428,082,
+ 885,883,580,852,613,003,712,002,324,174,425,692,632,554,027,633,745,798,
+ 651,888,230,947,200,806,274,060,775,293,840,920,220,190,038,786,813,455,
+ 223,058,674,431,910,570,854,749,829,806,105,704,043,510,396,451,852,364,
+ 653,702,131,325,310,953,572,733,776,258,123,920,521,468,348,389,805,250,
+ 705,594,271,577,956,104,090,480,481,222,517,837,119,448,824,423,825,340,
+ 873,835,751,307,680,388,871,609,025,732,378,834,658,760,329,050,472,667,
+ 526,590,646,622,624,013,859,791,741,334,546,904,175,814,491,859,798,529,
+ 416,894,618,669,750,475,155,956,053,791,827,244,804,082,224,685,119,183,
+ 672,724,886,051,650,071,490,594,011,849,581,789,245,258,709,353,617,556,
+ 401,207,271,540,798,301,136,248,760,642,408,424,657,552,825,308,186,895,
+ 122,905,890,121,613,345,229,569,033,327,442,940,539,173,223,053,723,472,
+ 221,663,621,821,192,427,947,101,697,640,220,744,471,336,984,587,870,371,
+ 061,495,630,161,348,366,434,885,803,852,646,252,417,121,666,344,120,191,
+ 345,515,816,045,457,954,138,589,457,962,191,411,962,894,106,468,915,043,
+ 971,660,783,628,756,324,049,197,614,497,962,509,638,449,547,895,350,055,
+ 064,305,111,545,976,141,753,654,873,538,156,842,874,796,194,700,654,002,
+ 944,630,561,605,609,019,829,540,913,531,211,945,186,017,328,764,408,176,
+ 367,103,501,073,596,594,707,897,353,937,657,282,535,726,934,833,818,187,
+ 210,726,309,075,988,497,368,304,926,258,799,914,874,731,342,140,476,333,
+ 787,850,759,902,771,834,863,305,731,278,462,909,900,558,068,068,342,034,
+ 539,076,090,740,722,520,329,189,998,482,972,397,198,779,281,591,440,322,
+ 858,869,230,540,662,831,440,653,093,499,391,787,214,418,535,491,909,727,
+ 269,719,712,680,378,030,559,065,844,527,683,663,061,971,000,874,462,680,
+ 403,580,696,360,116,138,774,250,853,276,035,191,561,112,338,065,087,437,
+ 378,360,655,661,818,731,651,925,916,016,306,595,898,013,793,769,434,558,
+ 151,276,343,259,065,394,808,734,321,143,849,263,197,860,462,197,013,684,
+ 605,650,075,795,263,379,790,564,726,216,444,307,551,898,705,908,287,512,
+ 765,678,881,521,269,543,795,671,727,020,020,224,936,428,559,551,467,742,
+ 375,960,129,861,458,930,983,559,729,320,575,852,430,667,069,345,369,235,
+ 923,584,004,986,545,149,369,740,037,434,464,004,006,038,324,830,630,870,
+ 998,254,299,196,787,614,800,422,550,634,047,144,025,154,869,051,556,316,
+ 463,016,568,653,911,407,656,537,643,522,102,572,339,236,428,478,305,070,
+ 915,913,789,943,564,239,124,155,865,715,320,874,768,256,730,328,389,138,
+ 068,226,281,295,078,823,581,613,658,123,062,241,155,692,411,164,722,883,
+ 584,813,380,330,725,804,254,031,694,174,982,481,637,049,538,623,988,441,
+ 219,005,836,492,590,258,054,737,481,543,386,679,089,926,464,427,448,941,
+ 637,574,522,931,167,366,995,063,845,664,706,115,457,071,217,939,903,780,
+ 627,513,860,228,738,252,901,314,140,921,125,622,143,936,001,046,152,580,
+ 444,791,619,834,680,897,778,268,186,574,135,269,828,102,654,850,652,163,
+ 994,818,138,255,785,528,432,724,433,766,004,170,256,745,796,366,719,385,
+ 419,749,111,090,085,885,865,784,363,687,012,955,661,193,605,268,403,623,
+ 351,998,282,208,789,925,231,700,955,509,323,146,108,746,276,170,871,335,
+ 256,717,004,313,066,322,020,511,794,738,950,635,968,127,051,238,147,938,
+ 387,612,608,640,917,321,504,349,538,840,178,218,505,226,315,117,060,404,
+ 624,264,106,046,029,201,367,436,366,543,969,136,819,048,283,475,514,471,
+ 094,848,579,886,190,008,110,970,313,822,898,387,007,881,057,647,298,694,
+ 238,561,477,314,310,782,248,279,365,057,621,678,312,385,126,308,545,776,
+ 046,572,932,548,494,208,283,229,679,744,479,683,292,111,058,890,919,716,
+ 373,224,066,098,722,719,305,636,405,595,192,089,180,166,453,967,462,352,
+ 225,678,350,729,137,680,646,811,263,401,920,553,589,246,539,026,644,077,
+ 878,432,993,694,871,438,591,796,843,001,889,299,153,451,770,371,969,100,
+ 131,574,994,434,430,484,522,764,544,347,248,177,459,578,087,483,861,398,
+ 162,627,093,145,944,804,884,916,395,168,278,801,634,042,883,718,948,676,
+ 170,612,004,837,409,354,018,487,360,298,054,883,252,977,300,634,415,683,
+ 923,697,664,278,282,831,495,250,625,618,035,410,092,081,241,190,335,830,
+ 627,804,373,776,857,470,062,035,325,159,621,191,157,632,552,528,184,214,
+ 333,911,528,944,960,082,265,946,619,784,306,218,291,483,188,100,737,125,
+ 531,845,814,959,798,146,378,382,830,609,621,522,239,953,133,247,838,261,
+ 390,610,695,067,481,432,056,413,724,873,361,837,052,278,952,508,745,160,
+ 800,928,915,078,527,893,637,721,593,205,286,767,069,593,269,732,255,544,
+ 688,956,960,791,746,491,444,882,043,205,606,122,730,595,705,954,499,175,
+ 978,779,442,089,318,844,521,543,561,446,440,808,737,413,541,317,262,019,
+ 013,109,844,081,411,859,294,327,984,887,355,307,202,581,142,931,595,407,
+ 012,493,334,644,214,739,994,548,078,348,578,728,871,448,717,764,395,538,
+ 542,305,110,125,078,870,857,443,897,614,408,988,418,751,234,505,340,358,
+ 112,856,638,600,066,884,826,613,784,178,024,802,651,420,332,489,676,275,
+ 490,366,336,725,106,239,474,326,326,766,782,221,109,778,312,304,049,400,
+ 087,565,035,752,918,933,226,658,503,330,554,686,273,246,796,005,005,801,
+ 397,683,727,584,212,820,473,654,841,802,638,408,138,348,709,434,867,349,
+ 814,047,126,874,855,498,755,870,288,319,529,437,941,316,741,534,053,195,
+ 649,073,674,726,250,322,070,843,817,429,668,191,969,900,484,087,612,470,
+ 573,263,267,884,829,558,986,962,340,673,463,369,781,142,590,675,706,052,
+ 422,718,067,250,848,406,965,841,026,195,976,891,182,879,410,590,671,091,
+ 738,191,199,300,217,810,428,570,065,735,064,721,583,299,241,978,077,751,
+ 986,940,465,159,362,563,440,636,687,217,442,972,312,684,414,076,035,488,
+ 095,892,313,621,417,339,896,689,461,385,075,796,423,318,178,902,487,646,
+ 667,824,507,597,376,108,189,596,849,859,197,821,581,833,642,150,545,094,
+ 435,128,440,804,832,723,220,480,203,895,881,234,143,226,719,594,716,619,
+ 996,641,451,929,710,423,132,842,345,113,499,075,788,037,053,396,294,272,
+ 241,225,102,255,569,221,971,566,754,315,172,428,779,288,384,532,298,687,
+ 245,181,169,359,833,506,162,998,349,950,522,140,566,811,364,136,376,462,
+ 524,263,369,749,715,759,629,177,276,366,072,312,113,988,972,961,129,840,
+ 697,994,055,265,440,940,976,763,737,095,541,951,605,448,630,710,951,914,
+ 080,235,810,358,866,899,556,119,924,870,379,641,067,407,334,686,600,536,
+ 164,324,528,689,160,470,892,621,001,261,883,419,950,722,631,420,408,198,
+ 359,642,077,595,994,948,666,020,194,789,732,781,322,929,799,113,336,101,
+ 815,912,454,187,359,754,296,896,427,873
+
+ 30 : 832,578,440,267,132,731,608,745,769,010,763,220,956,802,885,160,955,708,248,
+ 713,562,092,867,351,501,688,979,860,198,694,931,967,324,690,690,620,657,
+ 029,184,003,106,160,685,617,021,582,975,383,220,705,656,532,522,373,749,
+ 160,048,536,231,598,845,972,713,896,790,213,361,766,361,785,924,665,339,
+ 253,040,025,488,688,520,809,239,493,157,436,744,911,556,655,780,936,851,
+ 481,154,783,217,937,222,900,546,094,769,169,479,371,068,278,875,388,253,
+ 294,608,210,299,696,079,458,904,902,524,536,574,210,657,393,597,497,877,
+ 491,219,440,433,869,264,111,998,989,197,532,861,405,204,497,713,568,242,
+ 359,372,436,049,267,747,797,230,891,586,738,871,278,538,994,596,111,059,
+ 545,730,187,298,435,560,124,555,233,312,015,744,621,342,810,865,322,011,
+ 544,646,593,034,750,706,208,013,091,787,199,423,182,847,855,017,251,701,
+ 140,401,148,450,295,890,457,040,134,418,617,307,978,629,100,778,417,205,
+ 220,993,986,146,867,959,393,573,885,388,114,578,500,152,991,682,370,505,
+ 506,014,763,716,683,426,004,980,368,693,231,159,346,275,881,601,752,119,
+ 030,349,591,306,240,734,413,268,056,105,423,824,779,536,343,460,708,159,
+ 108,567,082,773,603,023,016,635,869,381,826,336,269,939,781,672,737,448,
+ 861,725,052,161,656,671,030,969,871,801,392,238,933,890,581,914,058,275,
+ 487,710,394,156,465,473,822,381,676,638,154,206,925,734,271,333,578,613,
+ 728,358,337,318,496,452,151,679,226,254,104,673,876,024,738,446,946,857,
+ 578,462,097,017,763,708,462,332,285,128,787,155,363,563,602,132,983,936,
+ 367,447,040,712,334,840,966,199,174,706,230,240,955,791,495,733,474,915,
+ 055,892,171,304,199,316,324,355,741,015,755,672,882,138,093,577,998,035,
+ 524,078,907,182,554,703,221,779,815,537,191,492,998,839,685,361,456,180,
+ 806,778,369,654,824,473,511,377,153,487,160,982,073,213,779,978,675,063,
+ 504,808,662,356,439,601,289,928,554,436,165,680,850,258,128,483,297,215,
+ 904,227,369,019,772,621,286,016,720,004,147,180,098,004,195,060,083,751,
+ 171,962,747,814,597,866,152,235,411,395,396,645,853,335,213,002,745,805,
+ 441,864,356,558,154,249,965,756,662,373,173,084,497,097,358,252,107,076,
+ 316,802,528,308,981,573,878,885,351,052,123,033,652,685,265,534,285,081,
+ 851,126,919,907,380,852,390,264,240,647,804,703,405,245,209,152,475,521,
+ 107,523,906,973,978,716,772,114,517,902,397,485,822,404,968,951,338,698,
+ 474,051,327,479,406,558,798,529,119,155,243,664,800,118,704,367,260,848,
+ 976,661,526,527,612,699,860,888,249,056,497,837,961,254,401,915,449,491,
+ 627,158,274,191,578,694,361,210,945,451,183,261,199,935,845,706,315,847,
+ 973,408,236,325,684,342,528,095,724,888,757,789,252,400,402,215,607,666,
+ 408,554,610,534,488,669,090,039,087,420,746,278,296,867,958,394,157,808,
+ 190,821,296,283,813,728,367,922,257,136,048,260,662,160,831,594,578,977,
+ 013,850,568,597,769,656,275,417,802,559,854,985,751,530,750,660,825,031,
+ 988,007,495,735,869,757,063,253,347,930,075,800,212,232,362,889,280,298,
+ 928,364,317,444,440,498,681,074,101,875,783,543,374,384,690,489,813,033,
+ 615,936,479,466,683,756,871,703,707,321,370,061,418,764,232,669,000,817,
+ 571,015,024,029,813,933,829,966,361,492,586,158,446,486,327,793,320,560,
+ 079,878,358,100,272,600,700,275,894,027,184,453,444,191,379,756,641,123,
+ 601,082,128,717,951,612,203,202,916,248,983,069,063,397,338,484,848,777,
+ 737,500,779,390,943,379,314,383,922,681,821,946,371,828,863,790,627,785,
+ 207,086,814,516,157,156,237,287,715,622,876,620,131,173,175,048,473,056,
+ 745,918,552,501,562,982,558,878,230,709,936,505,320,297,695,562,146,140,
+ 173,763,248,956,653,452,426,130,933,761,283,615,699,894,467,700,303,294,
+ 973,826,364,415,749,348,917,212,204,954,063,259,112,281,457,670,914,818,
+ 954,375,053,348,372,625,799,508,728,273,757,252,410,387,638,303,503,213,
+ 838,893,114,244,812,086,035,797,327,198,345,516,064,285,197,006,390,159,
+ 598,636,383,610,388,341,753,784,173,676,183,207,375,023,256,220,647,277,
+ 815,353,228,140,640,530,316,672,174,378,433,779,210,115,115,841,193,961,
+ 837,754,534,639,705,380,257,055,657,003,708,183,802,291,910,632,365,723,
+ 296,178,103,957,191,869,140,496,793,065,048,060,448,115,454,413,300,912,
+ 883,067,153,497,820,217,612,291,370,082,386,683,596,103,799,274,842,072,
+ 778,167,944,130,237,563,320,509,928,010,089,563,836,957,361,926,689,916,
+ 328,087,248,402,944,077,309,321,861,406,614,001,524,926,990,324,176,419,
+ 048,631,125,932,469,109,118,463,419,882,337,087,048,079,742,122,101,303,
+ 454,686,068,963,894,186,861,169,247,691,439,642,417,757,134,778,702,583,
+ 860,649,483,698,924,748,252,548,503,675,368,681,134,174,047,410,760,734,
+ 014,754,256,225,159,888,465,847,408,068,249,692,463,539,002,219,447,039,
+ 639,353,254,864,112,889,410,143,773,931,883,078,048,440,256,866,677,956,
+ 818,534,610,530,931,977,796,162,558,543,251,313,216,834,562,412,022,262,
+ 795,044,112,269,535,191,180,802,560,086,120,700,012,355,169,557,078,193,
+ 935,486,571,982,686,135,360,630,693,020,689,799,901,339,442,095,394,753,
+ 147,852,329,664,792,591,866,333,980,635,274,987,192,804,026,889,475,147,
+ 279,530,952,848,478,898,361,433,581,597,876,568,388,926,475,031,912,265,
+ 275,245,366,677,045,083,492,312,772,513,019,495,036,651,001,554,692,608,
+ 725,775,724,863,686,670,378,211,355,538,011,928,586,352,296,715,347,725,
+ 098,048,445,252,334,102,092,239,116,214,293,475,331,046,261,500,150,537,
+ 986,427,603,480,869,007,837,426,215,716,928,521,401,747,659,011,280,934,
+ 337,004,055,040,071,750,693,301,320,412,446,316,930,613,973,179,599,071,
+ 270,748,669,920,346,401,292,014,341,646,863,092,230,722,756,728,754,206,
+ 130,413,931,149,774,248,555,072,932,728,148,285,586,909,729,055,410,473,
+ 545,058,760,109,140,999,016,439,357,605,440,729,763,569,385,290,402,999,
+ 730,519,984,952,780,002,301,692,423,004,682,481,728,625,610,511,682,308,
+ 464,909,145,497,086,427,182,115,246,045,452,827,523,483,314,089,199,202,
+ 645,612,068,243,806,185,183,742,707,890,976,494,532,785,463,024,438,092,
+ 217,592,025,756,411,408,681,308,506,252,026,110,483,201,067,468,225,990,
+ 427,029,657,997,328,457,139,248,733,794,700,006,901,791,680,586,326,734,
+ 920,766,835,244,446,089,619,678,545,988,503,238,751,187,234,623,952,815,
+ 639,285,368,459,362,471,887,157,790,216,361,552,615,445,593,524,582,345,
+ 194,881,843,733,062,826,358,738,473,048,413,986,498,834,614,159,031,428,
+ 968,090,172,612,333,420,019,914,379,622,845,997,600,408,379,165,062,913,
+ 222,052,059,466,159,596,442,948,086,844,618,037,382,031,379,249,039,973,
+ 207,711,448,877,731,018,717,907,531,459,665,735,969,707,648,538,272,466,
+ 175,146,353,790,873,503,587,662,390,601,911,948,534,479,249,606,953,758,
+ 435,669,510,244,488,797,807,808,553,621,878,641,116,500,229,761,012,685,
+ 820,070,179,228,540,753,586,900,276,711,959,283,514,501,362,324,273,047,
+ 913,200,819,063,113,758,381,553,180,001,042,587,417,248,493,522,611,558,
+ 734,674,619,555,753,438,558,245,242,173,369,342,881,269,742,935,504,642,
+ 039,461,368,438,663,918,916,267,034,872,499,024,262,848,298,856,298,506,
+ 206,407,768,778,016,785,396,153,932,393,514,715,687,721,846,188,148,609,
+ 451,864,464,342,772,344,854,446,324,655,978,113,872,281,977,109,835,613,
+ 275,418,021,615,913,037,038,058,312,609,898,183,859,435,298,062,561,458,
+ 034,318,796,690,810,210,874,284,620,980,709,154,905,423,360,476,314,367,
+ 404,146,117,387,516,861,634,686,567,735,269,093,793,067,546,553,143,736,
+ 983,307,261,225,847,357,072,199,852,795,334,239,353,476,971,836,230,384,
+ 970,380,697,900,097,084,372,073,404,742,203,924,384,784,058,976,489,341,
+ 136,994,507,688,459,857,722,376,721,277,813,045,640,111,843,064,850,766,
+ 721,412,366,086,437,793,051,607,940,240,686,212,503
+
+ 31 : 36,602,772,631,801,101,262,958,939,331,034,128,529,849,251,043,205,371,014,
+ 559,399,520,997,271,716,341,637,830,920,375,768,106,722,802,969,056,659,
+ 383,399,227,294,732,255,451,305,660,300,782,232,096,252,362,642,779,878,
+ 381,682,019,092,190,069,451,813,504,140,682,442,097,716,626,499,074,766,
+ 974,795,963,315,739,994,336,015,438,653,507,627,225,316,350,589,671,074,
+ 058,783,871,179,354,287,901,581,410,166,215,102,882,374,192,838,943,656,
+ 979,434,058,587,983,931,336,143,019,499,344,530,510,345,497,922,480,388,
+ 531,124,149,584,724,353,408,730,367,406,686,577,787,428,052,278,483,850,
+ 229,799,935,378,944,017,210,201,690,997,589,452,675,303,175,037,643,507,
+ 694,001,499,774,201,195,148,107,068,686,680,814,300,543,147,911,628,173,
+ 797,035,206,380,499,704,824,466,877,758,873,740,463,193,928,185,778,410,
+ 941,560,562,575,625,151,184,040,377,498,062,601,808,921,476,865,642,075,
+ 477,692,080,908,301,695,695,706,761,979,267,597,375,610,254,493,343,177,
+ 047,011,296,789,706,752,544,122,236,142,132,682,202,925,687,089,515,348,
+ 419,065,360,156,785,889,014,871,699,937,292,977,993,368,932,544,020,134,
+ 612,614,776,514,544,795,924,771,601,330,639,160,115,026,838,883,468,083,
+ 362,213,845,018,799,003,437,502,213,469,687,941,625,484,655,875,363,783,
+ 756,083,241,283,569,885,592,579,811,314,788,743,256,499,488,305,860,126,
+ 915,597,323,286,190,776,150,276,640,254,222,002,481,982,052,774,477,548,
+ 352,881,198,899,697,722,968,697,444,467,210,117,565,929,338,742,481,836,
+ 789,717,020,981,342,056,265,996,507,350,565,144,015,518,782,533,917,915,
+ 539,144,566,343,452,352,070,803,146,996,300,642,868,436,019,552,712,935,
+ 545,657,508,520,436,753,993,930,446,258,128,215,559,675,805,622,373,897,
+ 977,752,857,404,744,518,218,659,679,270,371,536,062,831,485,578,639,996,
+ 257,802,869,769,325,031,149,565,693,909,183,211,669,103,357,272,040,167,
+ 437,888,477,072,607,117,285,900,797,072,568,859,691,951,078,165,384,832,
+ 765,449,475,515,606,006,530,054,859,625,918,135,109,446,278,014,441,791,
+ 138,787,855,516,275,630,082,827,484,789,790,617,954,136,277,486,386,671,
+ 982,672,523,606,099,429,653,981,018,297,508,595,518,584,973,728,187,156,
+ 267,679,038,232,581,685,327,784,137,481,196,550,152,082,639,021,686,317,
+ 992,066,368,821,748,458,063,292,752,269,089,015,186,321,610,608,763,916,
+ 801,824,992,248,310,415,047,314,752,998,170,444,121,810,346,224,466,192,
+ 569,062,589,311,542,731,831,412,138,193,590,401,525,029,175,926,936,798,
+ 485,936,349,743,409,189,645,373,166,409,325,354,455,021,552,451,024,049,
+ 162,630,026,275,417,884,136,848,776,939,169,918,565,418,998,155,345,715,
+ 049,354,788,249,046,298,528,070,604,585,683,914,011,899,839,722,321,036,
+ 106,552,775,899,784,496,348,622,216,385,477,193,340,287,454,743,369,943,
+ 635,013,117,506,551,459,593,570,307,011,266,841,864,970,577,924,428,077,
+ 092,545,753,759,899,824,531,539,950,781,825,267,013,865,151,403,914,873,
+ 905,258,277,317,328,398,724,678,931,210,780,743,349,793,955,169,231,783,
+ 965,216,285,874,358,561,885,896,528,834,523,260,485,750,885,480,344,811,
+ 238,530,375,184,184,802,383,278,687,679,043,687,572,449,061,496,132,696,
+ 002,953,247,158,430,311,286,502,116,852,309,747,800,539,138,286,264,158,
+ 947,516,071,795,628,298,602,773,979,165,483,768,279,705,083,757,412,880,
+ 459,955,123,226,328,994,089,263,721,496,377,126,073,073,316,595,366,651,
+ 079,779,603,233,339,217,012,791,330,241,053,918,299,149,823,596,159,192,
+ 183,363,243,484,817,906,437,961,156,400,588,859,443,232,069,925,260,030,
+ 523,842,835,084,295,628,668,753,027,607,055,506,859,086,058,909,016,634,
+ 226,702,972,929,575,446,448,809,453,583,965,148,917,874,715,568,150,217,
+ 895,521,248,168,619,057,923,788,502,903,620,574,585,562,056,129,145,818,
+ 702,516,653,825,075,729,768,341,969,688,276,345,244,857,727,814,812,709,
+ 636,862,563,956,986,734,502,621,685,382,945,337,342,485,216,260,409,272,
+ 669,107,523,384,084,594,239,758,429,948,635,817,709,497,497,754,405,373,
+ 393,560,214,706,365,500,492,873,306,567,830,396,847,430,196,307,277,814,
+ 015,167,954,196,409,809,999,118,829,280,053,721,352,082,846,856,554,811,
+ 668,326,454,218,926,134,655,870,996,102,130,223,511,681,059,573,685,141,
+ 925,561,087,879,628,065,053,370,136,650,101,102,841,913,670,313,828,238,
+ 502,757,724,376,361,113,866,667,790,869,499,771,294,406,402,563,117,410,
+ 764,508,289,660,255,770,879,949,093,282,071,404,395,785,653,128,038,740,
+ 354,863,553,941,858,653,686,779,270,360,832,275,533,801,658,887,542,209,
+ 369,948,848,915,704,010,885,684,287,254,193,420,886,803,496,238,864,309,
+ 668,429,761,712,106,137,271,976,508,098,744,135,900,572,916,495,351,026,
+ 743,948,931,933,929,420,135,024,852,422,089,023,492,774,713,641,414,314,
+ 460,037,090,023,794,874,775,019,408,147,390,463,442,135,757,800,375,027,
+ 016,219,688,926,421,401,084,469,255,636,484,292,728,358,622,078,252,134,
+ 026,982,114,761,358,995,957,135,297,294,914,265,833,075,237,203,706,605,
+ 918,972,602,889,869,093,760,718,334,802,047,000,871,501,214,635,632,697,
+ 212,336,912,943,047,535,414,292,618,201,361,302,664,844,836,962,013,788,
+ 632,598,266,650,923,134,855,574,590,583,180,113,482,566,538,861,313,302,
+ 706,869,503,644,273,198,197,656,318,742,461,666,004,338,332,125,610,506,
+ 654,618,985,449,753,441,293,243,281,357,772,869,928,018,348,940,166,206,
+ 325,916,109,483,413,940,781,744,253,751,917,591,646,145,425,215,593,570,
+ 442,864,382,832,264,524,840,383,647,275,557,228,518,613,084,097,053,985,
+ 262,605,955,538,111,343,088,681,339,945,727,869,598,792,334,077,518,729,
+ 167,697,050,086,999,039,082,994,638,713,772,380,122,459,590,273,079,084,
+ 703,709,047,172,691