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