Problem Statement
- You can only multiply them if B is equal to C.
- The resultant matrix is of size AxD.
Given a list of matrices, determine if there's an ordering that allows you to multiply all of them. If multiple such orderings exist, choose the one where the result has the most elements. Return the number of elements in the result, or -1 if there is no valid ordering (see examples 0-3 for further clarification). The list of matrices is given as two int[]s, N and M, where the ith elements of N and M represent the number of rows and columns respectively of the ith matrix.
Definition
- Class:
- OrderDoesMatter
- Method:
- getOrder
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int getOrder(int[] N, int[] M)
- (be sure your method is public)
Notes
- The association order is not important because we are only interested in the dimensions of the matrices.
Constraints
- M will have between 1 and 50 elements, inclusive.
- N and M will have the same number of elements.
- Each element of N and M will be between 1 and 1000, inclusive.
Examples
{7,3,3}
{3,7,3}
Returns: 49
Here we can legally multiply all the matrices in three different ways: (3x3)*(3x7)*(7x3) = (3x3) (elements = 9) (3x7)*(7x3)*(3x3) = (3x3) (elements = 9) (7x3)*(3x3)*(3x7) = (7x7) (elements = 49) The maximum number of elements is then 49.
{3,5,5}
{5,1,5}
Returns: 3
There's only one legal way to multiply the matrices (3x5)*(5x5)*(5x1)=(3x1) so the answer is 3*1=3.
{3,5,5}
{5,2,4}
Returns: -1
There is no legal way to multiply the matrices.
{5,2,3}
{2,5,3}
Returns: -1
Again, no legal way to multiply them all.
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 1
{1,2,3,4,5,6,7,8,9}
{2,3,4,5,6,7,8,9,10}
Returns: 10
{1,2,3,4,5,6,7,8,9}
{2,3,4,5,6,7,8,9,1}
Returns: 81
{1}
{1000}
Returns: 1000
{1000}
{1000}
Returns: 1000000
{1000}
{1}
Returns: 1000
{1000,1}
{1,1000}
Returns: 1000000
{1,2,3,4,5,1,2,3,4,5}
{2,2,2,2,2,1,2,3,4,5}
Returns: -1
{101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,101,202,303,404,505}
{202,303,404,505,101,303,404,505,101,202,404,505,101,202,303,101,202,303,404,505}
Returns: 255025
{101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,1000,303,202}
{202,303,404,505,101,303,404,505,101,202,404,505,101,202,303,101,202,303,404,505,303,909,202}
Returns: 909000
{1,1000}
{1,1000}
Returns: -1
{1,1}
{5,5}
Returns: -1
{1,1,1,5,5,5,4,6}
{4,5,6,1,2,3,2,3}
Returns: -1
{1,3,1,4}
{2,4,3,2}
Returns: -1
{507,759,158,759,438,438,507,461,507,461,759,767,438,158,438,461,759,158,507,759,767,767,767,759,767,158,158,158,507,759,759,759}
{158,759,461,767,767,438,767,507,461,158,507,759,759,767,461,759,767,158,507,158,767,759,507,767,507,438,767,461,759,461,438,767}
Returns: -1
{381,630,388,431,515,725,221,820,188,903,133,384,132,975,709,882,471,923,383,366,133,525,67,367,691,429}
{133,691,133,384,525,882,366,630,923,221,429,367,820,431,188,471,975,515,381,709,903,383,725,67,132,388}
Returns: -1
{211,96,41,131,303,503,348,292,96,131,903,292,812,406,903,406,76,775,41,775,895,292,418,418,819,440,195,41,812,903,131,430,67,406,440,48,348,794,857}
{857,418,41,292,418,348,903,76,794,96,303,775,406,195,67,895,440,41,430,41,406,131,440,812,503,96,775,903,819,292,406,812,131,903,48,211,292,348,131}
Returns: 815409
{735,469,890,245,469,245,855,53,890,469,763,909,53,20,763,320,735,635,909,580,469,855,53,245,735,635,635,635,53,580,405,469}
{53,855,890,635,635,245,405,635,469,909,245,20,245,320,469,469,855,735,53,909,890,53,735,763,735,53,580,469,635,580,469,763}
Returns: 826281
{362,269,269,914,701,269,709,21,709,362,269,269,789,914,789,621,529,993,529,529,21,789,709,993,53,529,21,993,789}
{21,914,21,789,269,362,53,269,269,709,621,269,709,529,914,529,789,21,993,993,789,529,362,789,701,993,709,529,269}
Returns: 986049
{416,18,746,18,738,746,632,946,764,18,416,960,985,764,416,788,985,985,163,18,746,788,18,960,985,59,788,985,946,416,946}
{985,985,764,18,746,18,764,163,18,746,632,416,416,946,960,960,946,416,788,18,985,59,946,746,18,788,985,985,788,416,738}
Returns: 970225
{513,763,632,632,422,143,763,799,546,928,939,546,939,939,928,608,143,799,231,231,143,763,763,231,608,608,939,231}
{231,546,763,928,763,143,608,422,763,632,546,939,939,928,608,799,231,143,939,231,231,632,939,763,143,608,513,799}
Returns: 881721
{874,746,263,455,345,392,807,455,345,345,807,345,968,263,20,345,746,882,746,455,79,807,746,867,807,807,874,79,758,387,872,746,392,79,392}
{807,455,263,345,807,345,872,345,455,874,392,746,746,455,392,79,79,882,807,807,746,345,807,263,79,874,746,345,867,20,746,387,758,968,392}
Returns: -1
{928,604,892,841,892,841,892,841,841,604,928,632,632,632,281,604}
{281,632,841,632,892,604,841,892,841,604,632,892,928,928,841,604}
Returns: 861184
{639,639,981,747,482,747,747,423,639,981,747,747,639,747,747,482,482,482,747,423,423,423,423,747,639,981,423,639,747,981,423,747,639,981,747,639,482,423}
{639,747,639,423,639,981,747,747,747,423,747,639,482,482,747,981,639,639,423,423,482,482,747,747,747,423,423,423,423,482,747,639,981,981,747,747,639,981}
Returns: 962361
{438,375,91,91,640,886,640,91,561,438,375,783,438,174,91,561,640,621,375}
{91,174,91,640,375,438,783,621,640,640,91,375,886,561,375,91,438,561,438}
Returns: 784996
{181,181,181,308,181,181,146,308,146,308,146,308,181,146,146,146,181,308,181,181,146,181,181,308,308,308,181}
{308,181,146,146,181,308,146,181,181,308,181,308,181,181,146,308,308,181,308,146,181,308,146,181,181,146,181}
Returns: 94864
{734,654,453,311,734,377,377,311,304,734,734,304,311,453,654,453,304,311,304,377,453,311,654,304,377,654,311,377,654,377,377,654,377,453,654,734,304,377,654,453,734,453}
{311,654,377,734,304,734,453,734,304,453,654,734,377,377,377,654,311,304,654,304,453,654,311,453,734,654,377,377,311,377,377,311,304,304,654,654,311,453,453,453,377,734}
Returns: 538756
{350,397,397,356,632,249,350,606,397,505,606,356,591,632,356,632,606,606,356,591}
{350,397,606,591,606,606,249,505,632,356,397,356,632,350,356,356,397,632,591,606}
Returns: 399424
{691,39,835,203,39,691,705,691,203,203,203,705,203,16,705,835,203,705,705,16,705,16,691,705,203,691,691,39,691,705,705,705,835,16,16,691,835,203,39,16}
{705,691,203,691,705,691,203,16,39,39,835,835,835,705,16,39,16,203,691,705,705,691,16,705,705,835,203,203,203,203,691,203,39,705,705,16,691,691,705,16}
Returns: 697225
{232,183,869,177,403,869,452,395,403,792,637,477,919,416,452,383,232,919,792,869,183,626,416,637,792,416,477,477,280,626,626,280,452,637,416,704,383,869,280,792,547,350,177,383,183,183}
{177,547,869,452,416,183,792,704,232,183,403,477,637,637,232,626,919,395,792,477,869,350,626,177,183,416,280,280,383,183,792,477,919,383,403,452,383,869,452,626,792,637,280,869,416,416}
Returns: 844561
{977,977,838,488,838,838,838,488,977,488,977,977,838,977,488,838,488,977,977,977,838,977,977,838,838}
{977,838,838,977,977,488,977,977,977,977,977,838,838,838,838,488,977,488,838,488,838,977,838,977,488}
Returns: 954529
{540,266,266,266,266,266,266,266,266,947}
{947,266,540,266,266,266,266,266,266,266}
Returns: 896809
{435,435,147,147,253,26,253,253,943,26,26,147,435,435,253,435,435,26,435,253,943,435,26,26,435,435,943,435,943,943,253,26,147,26,253,943,943,943,435,147,147,943,253,435,147,26}
{435,435,435,435,26,435,435,26,26,943,147,26,435,253,253,147,147,253,435,147,943,943,147,943,26,435,435,253,435,435,147,943,253,26,26,943,253,26,253,147,943,435,253,943,26,943}
Returns: 889249
{168,870,870,219,374,870,374,374,870,702,151,374,870,151,870,702,151,168,870,151,702,702,168,219,168,374,151,870,168,168,374,219,870,702,168,702,870,374,168}
{870,374,219,168,168,151,702,702,151,374,702,219,870,870,870,374,374,870,168,168,168,151,870,870,219,702,168,870,702,374,702,870,151,168,374,151,374,870,168}
Returns: 756900
{99,703,703,855,703,202,855,807,99,807,703,855,202,752,752,202,202,807,703,202,807,703,807,855}
{807,99,855,202,703,703,752,703,807,202,855,99,807,855,855,202,202,703,703,202,703,807,807,752}
Returns: 731025
{584,206,129,129,200,584,206,71,879,476,538,879,671,538,476,206,206,71,671,69,584,739,838,476}
{879,584,206,879,671,69,538,671,206,538,71,584,739,584,71,129,200,476,206,838,129,206,476,476}
Returns: 772641
{840,612,218,90,200,292,516,483,612,620,612,304,556,531,90,46,483,200,556,840,830,292,218,90,516,417,556,200,271,528,620,46,620,304,840,556,840,516,304,528,304}
{483,531,218,840,620,528,90,516,292,556,556,200,528,612,620,840,200,516,556,271,612,516,620,292,417,840,304,840,90,483,304,612,218,46,830,200,304,556,90,46,304}
Returns: 705600
{7}
{7}
Returns: 49
{114,18,151,501,59,389,151,18,59,255,654,18,384,389,528,59,199,18,199,151,151,701,528,389,59,114,114,111,199,59,151,111,501,501,151,18,111,111,501,59,114,528,501}
{389,18,151,18,59,151,114,501,151,59,111,501,501,255,59,199,114,528,114,199,501,199,528,701,111,114,501,151,59,151,528,111,59,151,654,384,384,59,389,18,111,389,18}
Returns: 6912
{64,64,64,346,346,64,552,64,260,346}
{260,346,346,64,346,64,260,64,552,64}
Returns: 16640
{623,594,251,20,726,20,251,623,259,623,726,251,517,317,43,594,43,517,259,113,317,405,405,113,594,251,20,517,44,317,726,44,405,517,20,113,317}
{317,20,317,44,405,44,20,726,594,726,594,20,317,113,405,20,517,43,623,113,623,405,517,517,259,44,259,251,251,517,726,251,317,113,43,251,594}
Returns: 27412
{342,896,734,460,896,610,533,442,442,610,610,896,40,610,342,734,896,610,533,460}
{342,442,460,610,896,896,610,533,342,533,896,896,610,610,40,734,610,460,442,896}
Returns: 657664
{170,817,170,170,170,170,817,83,817,817,817,817}
{83,170,83,170,817,817,817,170,817,817,170,817}
Returns: 14110
{623,623,623,87,805,895,623,805,137,87,87,623,805,428,137,895,137,805,902,805,502,895,805,137,902,623,895,137,902,895,902,87,428,137,902,805,137,137}
{805,623,623,137,428,895,902,502,895,902,87,137,895,805,805,902,805,623,805,137,137,895,137,87,623,895,137,87,902,87,623,137,137,428,805,623,502,805}
Returns: 452804
{700,153,764,551,700,881,551,896,419,700,764,881,153,896,842,842,201,201,712,842,896,764,896,896,201,317}
{842,764,881,896,700,712,842,201,317,881,896,153,764,896,551,764,551,201,201,700,842,700,419,153,896,712}
Returns: 637952
{445,828,809,289,269,269,546,809,809,856,546,269,289,809,809,445,856,856,108,289,289,546,546,269,828,856,445,546,108,828,856,856}
{445,289,269,269,809,856,546,445,856,856,809,108,809,856,269,809,289,289,828,762,828,546,856,269,856,546,445,828,546,108,809,289}
Returns: 416052
{56,56,625,50,398,625,56,50,647,147,647,50,625,398,625,56,748,147,398}
{50,50,398,56,748,625,398,147,50,398,625,625,398,647,647,625,147,56,56}
Returns: 22288
{167,603,603,603,904,167,167,603}
{904,167,603,603,904,603,167,603}
Returns: 150968
{472,568,472,894,568,472,568,630,992,992,827,992,433,663,992,663,321,827,992,472,558,894,433,415,663,123,558,472}
{894,472,663,992,992,568,472,630,663,827,321,992,894,663,568,472,123,433,472,992,827,415,992,558,663,568,558,433}
Returns: -1
{834,755,755,755,834}
{119,834,755,834,755}
Returns: 89845
{689,427,846,689,299,427,92,846,62,689,92,846,689,92,92,2,62,2,299,92,215}
{689,689,846,215,92,846,299,92,427,846,92,427,689,92,62,62,92,2,2,299,92}
Returns: 63388
{759,304,759,32,304,69,163,450,829,69,748,163,304,829,759,748,69,304,870,163,829,32,69,422,163,748,69,761,32,32,759,748,163,759,761,748}
{69,69,759,32,829,304,32,759,32,759,759,759,422,163,69,32,829,304,748,450,163,304,748,69,761,829,748,163,422,748,761,163,163,870,304,69}
Returns: 315656
{850,131,735,850,867,36,131,850,64,867,64,258,867,735,258,372,372,64,867,561,561,131,867,867,70,561,867,735,36,36,258,372,70,850,561}
{867,850,867,64,850,867,70,735,131,258,561,131,131,258,867,36,561,64,258,867,561,850,36,372,70,561,867,36,735,735,64,372,372,36,867}
Returns: 30600
{714,627,991,761,991,834,539,118,400,761,714,627,128,761,761,118,118,400,705,834,539,714,627,445,834,664,714,539,664,761,705,539,128}
{128,539,118,118,627,445,627,400,539,714,834,705,714,118,627,400,761,664,539,761,991,761,118,714,664,705,714,539,834,991,761,761,834}
Returns: 15104
{119,152,152,119,119,811,152,147,152,961,903,152,906,147}
{152,119,961,147,903,906,152,119,811,152,152,147,903,119}
Returns: 137256
{725,363,370,725,363,363,259,363,89,832,259,363,482,301,725,301,414,364,364,482,259,482,301,725,414,725,364,89,301,370,363,414,414,259,832,370,414,89,832,482}
{89,482,370,725,725,301,301,482,364,363,832,414,725,363,725,363,301,832,301,89,414,370,370,725,482,259,370,363,89,363,832,259,364,364,414,259,414,482,259,414}
Returns: 134310
{380,380}
{380,978}
Returns: 371640
{489,933,47,865,430,379,47,345,865,808,667,865,422,379,489,70,47,933,808,808,379,933}
{808,379,70,268,430,808,667,379,933,865,47,865,865,47,379,808,489,933,933,47,489,345}
Returns: -1
{598,290,983,520,188,598,894,439,319,276,698,260,439,520,894,32,260,32,951,104,783,41,988,290,301,276,762,698,698,54,54,290,785,894,785,785,894,41,319,785,894,598,188,260,598,32,54}
{520,188,276,785,698,951,319,762,32,983,54,301,783,54,290,785,41,41,969,785,894,698,439,260,54,260,104,32,439,520,988,894,598,276,598,290,260,598,785,698,188,319,894,598,894,894,32}
Returns: 281010
{330,714,13,111,661,194,839,663,904,412,86,386,726,83,738,351,444,911,374,570,103,766,436,515}
{570,351,83,904,111,436,330,194,911,13,839,412,766,444,386,86,726,663,738,515,714,103,374,194}
Returns: 128234
{980,32,311,416,404,3,398,759,887,759,616,46,600,555}
{416,232,555,887,759,759,980,46,311,404,600,398,3,32}
Returns: 142912
{633,335,300,720,301,594,751,661,15,906,74,913,964,65,276,619,972,92,19,568,913,75,944,655,382,503,416,572,872,910,537,975,641}
{975,972,910,65,641,92,572,382,661,276,594,751,655,239,872,720,913,633,301,335,15,964,537,913,906,75,503,74,619,19,568,944,416}
Returns: 71700
{344,180,282,849,563,240,281}
{240,344,670,282,180,849,563}
Returns: 188270
{50,160,849,460,591,727,926,404,253,608,253,34,268,707,540,960,375,109,932,56,856,122,288,544,665,967,638,128,53,958,294,227,484,704,520,579,744}
{294,484,375,109,707,288,268,608,727,128,253,591,958,122,544,856,460,253,404,638,704,50,540,926,932,53,513,579,34,520,160,56,744,227,967,960,665}
Returns: 435537
{152,466,906}
{466,906,152}
Returns: 820836
{169,375,549,42,32,861,94,693,215,855,407,98,903,46,172,731,19,815,9,149,861,876}
{407,215,731,9,98,169,861,876,861,19,42,903,693,172,549,149,32,94,46,855,815,375}
Returns: 815409
{625,768,357,534,900,393,853,938,532,442,302,70,386,235,151,194,332,687,64}
{151,687,386,302,357,625,938,900,442,393,768,235,64,194,534,532,853,332,70}
Returns: 879844
{206,897,476,198,356,613,534,208,37,268,92,450,658,152}
{613,198,37,268,208,152,658,450,206,534,356,476,92,897}
Returns: 804609
{158,671,723,170,367,766,485,588,655,723,590,493,522,148,923}
{522,493,588,367,723,148,766,158,590,170,723,923,671,655,485}
Returns: 851929
{1000,1,1}
{1,999,1}
Returns: 999000
{1,1000,1000}
{1000,2,1000}
Returns: 2
{1000,999}
{1000,999}
Returns: -1
{119,152,152,119,119,811,152,147,152,961,903,152,906,147,1,1000,1000}
{152,119,961,147,903,906,152,119,811,152,152,147,903,119,1000,2,1000}
Returns: -1
{442,675,391,420,903,265,820,343,213,564,18,874,653,644,56,704,569,46,879,893,131,100}
{675,704,46,644,18,100,879,820,56,653,893,564,213,569,391,131,903,265,442,874,343,420}
Returns: -1
{447,386,893,520,810,302,688,735,385,723,584,801,804,651,794,465,609}
{385,810,735,609,386,520,723,651,794,801,447,302,688,804,465,893,584}
Returns: -1
{477,264,381}
{477,381,264}
Returns: -1
{644,709,470,796,810,400,790,399,414,528,74,543,925,694,595,920,156,263,619,482,231}
{231,470,619,74,920,644,156,543,790,595,925,796,482,709,810,694,400,528,414,399,263}
Returns: -1
{222,272,633,251,275,308,304,407,970}
{970,251,275,308,407,272,222,304,633}
Returns: -1
{833,601,252,179,540,568,466,174,748,213,422,591,510,887}
{540,179,833,992,213,422,568,252,887,748,591,466,601,510}
Returns: -1
{213,196,574,490,311}
{574,196,311,912,490}
Returns: -1
{508,455,646,816,980,764,576,152,157,465,376,590,686,768,648,424,689,410,595,708,905,373,265,972,284,159}
{768,590,708,576,764,159,284,401,595,157,508,648,424,410,980,905,455,816,686,465,972,265,646,152,373,689}
Returns: -1
{485,428,322,96,587,402,625,242,82,510,54,987,130,410,230,280,147,470,521,34,629,695,35,336,798,275,915,496,520,910,405,509,33,73,917,666,153,900,802,631,255,900,19,192,3,295}
{859,520,509,322,3,915,900,275,987,242,402,33,485,280,54,521,35,410,405,631,147,470,802,428,917,496,666,230,695,629,625,130,587,96,900,295,73,82,255,798,19,336,34,153,910,192}
Returns: -1
{995,492,76,383,410,386,508,327,61,687,601}
{327,601,995,386,300,61,508,492,410,76,383}
Returns: -1
{91,91,49,91,91,49,91,49,91,91,49,91,91,49,91,91,91,49,91,91,49,91}
{91,49,91,91,49,49,49,49,91,91,91,49,49,91,91,91,91,49,49,49,49,49}
Returns: -1
{275,793,920,793,920,793,275,793,920,275,793,920,920,920,920,275,275,920,275,793,793,275}
{275,793,275,275,793,920,275,275,793,793,275,793,275,920,920,793,920,920,920,275,275,920}
Returns: -1
{187,653,653,715,653,715,187,187,187,715,715,715,715,715,653,653,653,715,187,187,187,653,187}
{715,653,715,715,187,653,715,653,187,715,715,187,715,715,715,715,187,715,187,653,715,187,715}
Returns: -1
{812,234,234,234,812,234,234,234,812,812,234,234,812,234,812,812,812,812,812,812,812,812,234,234,812,234,812,234,812,234,812,812,234,812,234,812,234,234,812,234}
{234,234,812,234,812,812,812,812,812,234,812,234,234,234,812,812,234,812,812,234,812,234,812,234,234,812,234,812,812,234,812,812,812,812,234,234,234,234,812,812}
Returns: 190008
{257,392,357,392,392,257,357,392,257,257,392,183,357,392,392,257,183,357,392,257,746,746,392,257,183,746,357,257,257,392,392}
{257,357,746,746,257,257,257,257,392,257,257,392,357,746,392,746,183,183,183,257,357,357,257,392,746,746,357,257,257,257,357}
Returns: -1
{111,222,333,111,444,777,555,111,777,666,666,111,444,333,999}
{333,111,222,444,666,999,111,555,555,777,555,444,111,999,333}
Returns: -1
{50,100,150,50,50}
{100,150,100,150,50}
Returns: -1
{1000,100,10,10}
{1,1,100,1000}
Returns: -1
{1,1000,1,1000,80}
{80,1,1000,80,80}
Returns: -1
{10, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
{1, 10, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 7, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Returns: -1
{47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 29 }
{17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17 }
Returns: 493
{20, 21, 20, 22, 21, 22, 20, 23, 21, 23, 22, 23, 20, 24, 21, 24, 22, 24, 23, 24, 20, 25, 21, 25, 22, 25, 2, 3, 25, 24, 25, 20, 26, 21, 26, 22, 26, 23, 26, 24, 26, 25, 26, 20, 27, 21, 27, 22, 27, 23 }
{21, 20, 22, 20, 22, 21, 23, 20, 23, 21, 23, 22, 24, 20, 24, 21, 24, 22, 24, 23, 25, 20, 25, 21, 25, 22, 2, 5, 23, 25, 24, 26, 20, 26, 21, 26, 22, 26, 23, 26, 24, 26, 25, 27, 20, 27, 21, 27, 22, 27 }
Returns: -1
{5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2 }
{3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5, 3, 8, 4, 6, 7, 8, 9, 8, 5, 3, 2, 5 }
Returns: 81
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }
Returns: 16
{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, 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 }
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 1 }
Returns: -1
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 }
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
Returns: 2
{5 }
{5 }
Returns: 25
{5, 3, 7, 6, 4, 8 }
{3, 7, 5, 4, 8, 6 }
Returns: -1
{8, 1, 8, 7, 1, 6, 8, 7, 8, 7, 6, 3, 4, 6, 2, 2, 6, 5, 1, 4, 2, 6, 3, 4, 4, 2, 2, 7, 7, 5, 6, 4, 4, 2, 7, 4, 1, 4, 2, 4, 8, 5, 7, 1, 1, 2, 2, 3, 2, 6 }
{1, 5, 6, 5, 6, 4, 4, 4, 6, 5, 2, 8, 8, 4, 2, 4, 2, 3, 4, 8, 1, 8, 3, 6, 7, 2, 4, 5, 2, 5, 4, 4, 2, 3, 2, 7, 3, 5, 5, 6, 4, 3, 7, 7, 7, 1, 2, 8, 2, 3 }
Returns: -1
{2 }
{3 }
Returns: 6
{1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7 }
{2, 3, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 3, 2, 5, 6, 7, 2, 3, 4, 5, 6, 7 }
Returns: -1
{1000, 2, 5, 4 }
{2, 1000, 4, 5 }
Returns: -1
{990, 997, 996, 995, 994, 993, 992, 991, 998, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 999 }
{999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 599, 598, 597, 596, 595, 594, 591, 592, 593, 590 }
Returns: -1
{1, 3, 5 }
{3, 1, 5 }
Returns: -1
{5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 7, 6, 97, 98, 99, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928 }
{6, 5, 4, 97, 98, 99, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 3, 8, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }
Returns: 861184
{3, 5, 3, 5, 7 }
{5, 7, 5, 3, 7 }
Returns: 21
{1 }
{1 }
Returns: 1
{1, 2, 3, 4 }
{2, 1, 4, 3 }
Returns: -1
{1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 }
{2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1 }
Returns: 4
{2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3 }
{3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 6 }
Returns: -1
{1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 }
{2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1 }
Returns: 4
{2 }
{1 }
Returns: 2
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 }
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: 625
{1, 3, 6 }
{5, 1, 3 }
Returns: 30
{1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, 1, 2, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 8, 5, 1, 4 }
{1, 4, 15, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: -1
{1, 1000, 1, 1000, 1, 1000 }
{1000, 1000, 1000, 1, 1, 1 }
Returns: 1000000
{1000, 1, 1, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2 }
{1, 1000, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 2 }
Returns: 2
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 }
{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2 }
Returns: -1
{1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 }
{1, 2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 8, 1, 3, 4, 5, 6, 7, 8, 1, 2, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8 }
Returns: 64
{5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 7, 3, 7, 3, 7, 3 }
{3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 7, 3, 7 }
Returns: 35
{2, 1 }
{3, 2 }
Returns: 3
{1, 2 }
{1, 1 }
Returns: 2
{1, 2, 3, 5 }
{2, 1, 5, 3 }
Returns: -1
{7, 7, 7, 3 }
{3, 3, 3, 7 }
Returns: -1
{1 }
{5 }
Returns: 5
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 }
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 }
Returns: -1
{1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7 }
{1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7 }
Returns: 49
{1, 3, 4 }
{2, 4, 3 }
Returns: -1
{2, 1 }
{1, 3 }
Returns: 6
{2 }
{2 }
Returns: 4
{1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26 }
{2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1 }
Returns: 676
{2, 2 }
{3, 3 }
Returns: -1
{3, 5 }
{1, 3 }
Returns: 5
{1 }
{2 }
Returns: 2
{1, 1 }
{2, 3 }
Returns: -1
{990, 990, 991, 991, 992, 992, 993, 993, 994, 994 }
{991, 992, 992, 993, 993, 994, 994, 990, 990, 991 }
Returns: 988036
{2, 1 }
{1, 2 }
Returns: 4
{3, 3 }
{4, 4 }
Returns: -1
{2, 1, 2, 5 }
{1, 2, 5, 2 }
Returns: 25
{7, 7 }
{3, 3 }
Returns: -1
{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }
{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }
Returns: 1000000
{1, 1, 1, 1, 2 }
{1, 1, 1, 1, 2 }
Returns: -1
{2, 2, 2, 3, 3, 3 }
{3, 3, 3, 2, 2, 2 }
Returns: 9
{1, 1 }
{1, 1 }
Returns: 1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3 }
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3 }
Returns: 3
{2, 2 }
{5, 5 }
Returns: -1
{1, 2, 2 }
{2, 1, 1 }
Returns: 2
{1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7 }
{1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7 }
Returns: 49
{3, 3, 5 }
{5, 5, 3 }
Returns: 15
{1, 2 }
{3, 1 }
Returns: 6