あなたがすでにこれに対する答えを選んだことは知っていますが、それがテーブルに何かをもたらすと思うので、とにかく私の解決策を検討すると思いました。
問題の一部は、「ランダムな手」が意味するものがここではやや曖昧であるということです。合計が36になる6枚のカードの真にランダムなハンドが必要な場合は、合計が36になる可能性のあるすべてのハンドから同じ確率で選ぶ必要があります。
数値を合計できる方法の数は、パーティショニングと呼ばれます。36の可能なすべてのパーティションを生成するアルゴリズムを作成しました。これは17,000個のパーティションです。次に、12を超える数を使用するパーティションを削除し、次に6を超える数を使用するパーティションを削除しました。それは私に6枚のカードの676の可能な手で合計36を残しました。
完全なランダム性を確保するために私が取るアプローチは、すべての可能な手の配列からランダムに選ぶことです。これはストレージを大量に消費しますが(配列を格納する必要があります)、提案されているどのアプローチよりもはるかに高速です(乱数を1つだけ選択してから、配列から取り出すため)。省略されたコードは次のとおりです(続く完全なコード):
$allHands = array(
array(12,12,12,0,0,0),
array(12,12,11,1,0,0),
array(12,12,10,2,0,0),
array(12,12,10,1,1,0),
// ...etc
);
$hand = $allHands[ rand( 0, count($allHands)-1 ) ];
shuffle( $hand );
// $hand is now a completely random hand of 6 cards summing to 36
考えられるすべてのハンドの完全な配列は次のとおりです。
$allHands = array(
array( 12, 12, 12, 0, 0, 0 ),
array( 12, 12, 11, 1, 0, 0 ),
array( 12, 12, 10, 2, 0, 0 ),
array( 12, 12, 10, 1, 1, 0 ),
array( 12, 12, 9, 3, 0, 0 ),
array( 12, 12, 9, 2, 1, 0 ),
array( 12, 12, 9, 1, 1, 1 ),
array( 12, 12, 8, 4, 0, 0 ),
array( 12, 12, 8, 3, 1, 0 ),
array( 12, 12, 8, 2, 2, 0 ),
array( 12, 12, 8, 2, 1, 1 ),
array( 12, 12, 7, 5, 0, 0 ),
array( 12, 12, 7, 4, 1, 0 ),
array( 12, 12, 7, 3, 2, 0 ),
array( 12, 12, 7, 3, 1, 1 ),
array( 12, 12, 7, 2, 2, 1 ),
array( 12, 12, 6, 6, 0, 0 ),
array( 12, 12, 6, 5, 1, 0 ),
array( 12, 12, 6, 4, 2, 0 ),
array( 12, 12, 6, 4, 1, 1 ),
array( 12, 12, 6, 3, 3, 0 ),
array( 12, 12, 6, 3, 2, 1 ),
array( 12, 12, 6, 2, 2, 2 ),
array( 12, 12, 5, 5, 2, 0 ),
array( 12, 12, 5, 5, 1, 1 ),
array( 12, 12, 5, 4, 3, 0 ),
array( 12, 12, 5, 4, 2, 1 ),
array( 12, 12, 5, 3, 3, 1 ),
array( 12, 12, 5, 3, 2, 2 ),
array( 12, 12, 4, 4, 4, 0 ),
array( 12, 12, 4, 4, 3, 1 ),
array( 12, 12, 4, 4, 2, 2 ),
array( 12, 12, 4, 3, 3, 2 ),
array( 12, 12, 3, 3, 3, 3 ),
array( 12, 11, 11, 2, 0, 0 ),
array( 12, 11, 11, 1, 1, 0 ),
array( 12, 11, 10, 3, 0, 0 ),
array( 12, 11, 10, 2, 1, 0 ),
array( 12, 11, 10, 1, 1, 1 ),
array( 12, 11, 9, 4, 0, 0 ),
array( 12, 11, 9, 3, 1, 0 ),
array( 12, 11, 9, 2, 2, 0 ),
array( 12, 11, 9, 2, 1, 1 ),
array( 12, 11, 8, 5, 0, 0 ),
array( 12, 11, 8, 4, 1, 0 ),
array( 12, 11, 8, 3, 2, 0 ),
array( 12, 11, 8, 3, 1, 1 ),
array( 12, 11, 8, 2, 2, 1 ),
array( 12, 11, 7, 6, 0, 0 ),
array( 12, 11, 7, 5, 1, 0 ),
array( 12, 11, 7, 4, 2, 0 ),
array( 12, 11, 7, 4, 1, 1 ),
array( 12, 11, 7, 3, 3, 0 ),
array( 12, 11, 7, 3, 2, 1 ),
array( 12, 11, 7, 2, 2, 2 ),
array( 12, 11, 6, 6, 1, 0 ),
array( 12, 11, 6, 5, 2, 0 ),
array( 12, 11, 6, 5, 1, 1 ),
array( 12, 11, 6, 4, 3, 0 ),
array( 12, 11, 6, 4, 2, 1 ),
array( 12, 11, 6, 3, 3, 1 ),
array( 12, 11, 6, 3, 2, 2 ),
array( 12, 11, 5, 5, 3, 0 ),
array( 12, 11, 5, 5, 2, 1 ),
array( 12, 11, 5, 4, 4, 0 ),
array( 12, 11, 5, 4, 3, 1 ),
array( 12, 11, 5, 4, 2, 2 ),
array( 12, 11, 5, 3, 3, 2 ),
array( 12, 11, 4, 4, 4, 1 ),
array( 12, 11, 4, 4, 3, 2 ),
array( 12, 11, 4, 3, 3, 3 ),
array( 12, 10, 10, 4, 0, 0 ),
array( 12, 10, 10, 3, 1, 0 ),
array( 12, 10, 10, 2, 2, 0 ),
array( 12, 10, 10, 2, 1, 1 ),
array( 12, 10, 9, 5, 0, 0 ),
array( 12, 10, 9, 4, 1, 0 ),
array( 12, 10, 9, 3, 2, 0 ),
array( 12, 10, 9, 3, 1, 1 ),
array( 12, 10, 9, 2, 2, 1 ),
array( 12, 10, 8, 6, 0, 0 ),
array( 12, 10, 8, 5, 1, 0 ),
array( 12, 10, 8, 4, 2, 0 ),
array( 12, 10, 8, 4, 1, 1 ),
array( 12, 10, 8, 3, 3, 0 ),
array( 12, 10, 8, 3, 2, 1 ),
array( 12, 10, 8, 2, 2, 2 ),
array( 12, 10, 7, 7, 0, 0 ),
array( 12, 10, 7, 6, 1, 0 ),
array( 12, 10, 7, 5, 2, 0 ),
array( 12, 10, 7, 5, 1, 1 ),
array( 12, 10, 7, 4, 3, 0 ),
array( 12, 10, 7, 4, 2, 1 ),
array( 12, 10, 7, 3, 3, 1 ),
array( 12, 10, 7, 3, 2, 2 ),
array( 12, 10, 6, 6, 2, 0 ),
array( 12, 10, 6, 6, 1, 1 ),
array( 12, 10, 6, 5, 3, 0 ),
array( 12, 10, 6, 5, 2, 1 ),
array( 12, 10, 6, 4, 4, 0 ),
array( 12, 10, 6, 4, 3, 1 ),
array( 12, 10, 6, 4, 2, 2 ),
array( 12, 10, 6, 3, 3, 2 ),
array( 12, 10, 5, 5, 4, 0 ),
array( 12, 10, 5, 5, 3, 1 ),
array( 12, 10, 5, 5, 2, 2 ),
array( 12, 10, 5, 4, 4, 1 ),
array( 12, 10, 5, 4, 3, 2 ),
array( 12, 10, 5, 3, 3, 3 ),
array( 12, 10, 4, 4, 4, 2 ),
array( 12, 10, 4, 4, 3, 3 ),
array( 12, 9, 9, 6, 0, 0 ),
array( 12, 9, 9, 5, 1, 0 ),
array( 12, 9, 9, 4, 2, 0 ),
array( 12, 9, 9, 4, 1, 1 ),
array( 12, 9, 9, 3, 3, 0 ),
array( 12, 9, 9, 3, 2, 1 ),
array( 12, 9, 9, 2, 2, 2 ),
array( 12, 9, 8, 7, 0, 0 ),
array( 12, 9, 8, 6, 1, 0 ),
array( 12, 9, 8, 5, 2, 0 ),
array( 12, 9, 8, 5, 1, 1 ),
array( 12, 9, 8, 4, 3, 0 ),
array( 12, 9, 8, 4, 2, 1 ),
array( 12, 9, 8, 3, 3, 1 ),
array( 12, 9, 8, 3, 2, 2 ),
array( 12, 9, 7, 7, 1, 0 ),
array( 12, 9, 7, 6, 2, 0 ),
array( 12, 9, 7, 6, 1, 1 ),
array( 12, 9, 7, 5, 3, 0 ),
array( 12, 9, 7, 5, 2, 1 ),
array( 12, 9, 7, 4, 4, 0 ),
array( 12, 9, 7, 4, 3, 1 ),
array( 12, 9, 7, 4, 2, 2 ),
array( 12, 9, 7, 3, 3, 2 ),
array( 12, 9, 6, 6, 3, 0 ),
array( 12, 9, 6, 6, 2, 1 ),
array( 12, 9, 6, 5, 4, 0 ),
array( 12, 9, 6, 5, 3, 1 ),
array( 12, 9, 6, 5, 2, 2 ),
array( 12, 9, 6, 4, 4, 1 ),
array( 12, 9, 6, 4, 3, 2 ),
array( 12, 9, 6, 3, 3, 3 ),
array( 12, 9, 5, 5, 5, 0 ),
array( 12, 9, 5, 5, 4, 1 ),
array( 12, 9, 5, 5, 3, 2 ),
array( 12, 9, 5, 4, 4, 2 ),
array( 12, 9, 5, 4, 3, 3 ),
array( 12, 9, 4, 4, 4, 3 ),
array( 12, 8, 8, 8, 0, 0 ),
array( 12, 8, 8, 7, 1, 0 ),
array( 12, 8, 8, 6, 2, 0 ),
array( 12, 8, 8, 6, 1, 1 ),
array( 12, 8, 8, 5, 3, 0 ),
array( 12, 8, 8, 5, 2, 1 ),
array( 12, 8, 8, 4, 4, 0 ),
array( 12, 8, 8, 4, 3, 1 ),
array( 12, 8, 8, 4, 2, 2 ),
array( 12, 8, 8, 3, 3, 2 ),
array( 12, 8, 7, 7, 2, 0 ),
array( 12, 8, 7, 7, 1, 1 ),
array( 12, 8, 7, 6, 3, 0 ),
array( 12, 8, 7, 6, 2, 1 ),
array( 12, 8, 7, 5, 4, 0 ),
array( 12, 8, 7, 5, 3, 1 ),
array( 12, 8, 7, 5, 2, 2 ),
array( 12, 8, 7, 4, 4, 1 ),
array( 12, 8, 7, 4, 3, 2 ),
array( 12, 8, 7, 3, 3, 3 ),
array( 12, 8, 6, 6, 4, 0 ),
array( 12, 8, 6, 6, 3, 1 ),
array( 12, 8, 6, 6, 2, 2 ),
array( 12, 8, 6, 5, 5, 0 ),
array( 12, 8, 6, 5, 4, 1 ),
array( 12, 8, 6, 5, 3, 2 ),
array( 12, 8, 6, 4, 4, 2 ),
array( 12, 8, 6, 4, 3, 3 ),
array( 12, 8, 5, 5, 5, 1 ),
array( 12, 8, 5, 5, 4, 2 ),
array( 12, 8, 5, 5, 3, 3 ),
array( 12, 8, 5, 4, 4, 3 ),
array( 12, 8, 4, 4, 4, 4 ),
array( 12, 7, 7, 7, 3, 0 ),
array( 12, 7, 7, 7, 2, 1 ),
array( 12, 7, 7, 6, 4, 0 ),
array( 12, 7, 7, 6, 3, 1 ),
array( 12, 7, 7, 6, 2, 2 ),
array( 12, 7, 7, 5, 5, 0 ),
array( 12, 7, 7, 5, 4, 1 ),
array( 12, 7, 7, 5, 3, 2 ),
array( 12, 7, 7, 4, 4, 2 ),
array( 12, 7, 7, 4, 3, 3 ),
array( 12, 7, 6, 6, 5, 0 ),
array( 12, 7, 6, 6, 4, 1 ),
array( 12, 7, 6, 6, 3, 2 ),
array( 12, 7, 6, 5, 5, 1 ),
array( 12, 7, 6, 5, 4, 2 ),
array( 12, 7, 6, 5, 3, 3 ),
array( 12, 7, 6, 4, 4, 3 ),
array( 12, 7, 5, 5, 5, 2 ),
array( 12, 7, 5, 5, 4, 3 ),
array( 12, 7, 5, 4, 4, 4 ),
array( 12, 6, 6, 6, 6, 0 ),
array( 12, 6, 6, 6, 5, 1 ),
array( 12, 6, 6, 6, 4, 2 ),
array( 12, 6, 6, 6, 3, 3 ),
array( 12, 6, 6, 5, 5, 2 ),
array( 12, 6, 6, 5, 4, 3 ),
array( 12, 6, 6, 4, 4, 4 ),
array( 12, 6, 5, 5, 5, 3 ),
array( 12, 6, 5, 5, 4, 4 ),
array( 12, 5, 5, 5, 5, 4 ),
array( 11, 11, 11, 3, 0, 0 ),
array( 11, 11, 11, 2, 1, 0 ),
array( 11, 11, 11, 1, 1, 1 ),
array( 11, 11, 10, 4, 0, 0 ),
array( 11, 11, 10, 3, 1, 0 ),
array( 11, 11, 10, 2, 2, 0 ),
array( 11, 11, 10, 2, 1, 1 ),
array( 11, 11, 9, 5, 0, 0 ),
array( 11, 11, 9, 4, 1, 0 ),
array( 11, 11, 9, 3, 2, 0 ),
array( 11, 11, 9, 3, 1, 1 ),
array( 11, 11, 9, 2, 2, 1 ),
array( 11, 11, 8, 6, 0, 0 ),
array( 11, 11, 8, 5, 1, 0 ),
array( 11, 11, 8, 4, 2, 0 ),
array( 11, 11, 8, 4, 1, 1 ),
array( 11, 11, 8, 3, 3, 0 ),
array( 11, 11, 8, 3, 2, 1 ),
array( 11, 11, 8, 2, 2, 2 ),
array( 11, 11, 7, 7, 0, 0 ),
array( 11, 11, 7, 6, 1, 0 ),
array( 11, 11, 7, 5, 2, 0 ),
array( 11, 11, 7, 5, 1, 1 ),
array( 11, 11, 7, 4, 3, 0 ),
array( 11, 11, 7, 4, 2, 1 ),
array( 11, 11, 7, 3, 3, 1 ),
array( 11, 11, 7, 3, 2, 2 ),
array( 11, 11, 6, 6, 2, 0 ),
array( 11, 11, 6, 6, 1, 1 ),
array( 11, 11, 6, 5, 3, 0 ),
array( 11, 11, 6, 5, 2, 1 ),
array( 11, 11, 6, 4, 4, 0 ),
array( 11, 11, 6, 4, 3, 1 ),
array( 11, 11, 6, 4, 2, 2 ),
array( 11, 11, 6, 3, 3, 2 ),
array( 11, 11, 5, 5, 4, 0 ),
array( 11, 11, 5, 5, 3, 1 ),
array( 11, 11, 5, 5, 2, 2 ),
array( 11, 11, 5, 4, 4, 1 ),
array( 11, 11, 5, 4, 3, 2 ),
array( 11, 11, 5, 3, 3, 3 ),
array( 11, 11, 4, 4, 4, 2 ),
array( 11, 11, 4, 4, 3, 3 ),
array( 11, 10, 10, 5, 0, 0 ),
array( 11, 10, 10, 4, 1, 0 ),
array( 11, 10, 10, 3, 2, 0 ),
array( 11, 10, 10, 3, 1, 1 ),
array( 11, 10, 10, 2, 2, 1 ),
array( 11, 10, 9, 6, 0, 0 ),
array( 11, 10, 9, 5, 1, 0 ),
array( 11, 10, 9, 4, 2, 0 ),
array( 11, 10, 9, 4, 1, 1 ),
array( 11, 10, 9, 3, 3, 0 ),
array( 11, 10, 9, 3, 2, 1 ),
array( 11, 10, 9, 2, 2, 2 ),
array( 11, 10, 8, 7, 0, 0 ),
array( 11, 10, 8, 6, 1, 0 ),
array( 11, 10, 8, 5, 2, 0 ),
array( 11, 10, 8, 5, 1, 1 ),
array( 11, 10, 8, 4, 3, 0 ),
array( 11, 10, 8, 4, 2, 1 ),
array( 11, 10, 8, 3, 3, 1 ),
array( 11, 10, 8, 3, 2, 2 ),
array( 11, 10, 7, 7, 1, 0 ),
array( 11, 10, 7, 6, 2, 0 ),
array( 11, 10, 7, 6, 1, 1 ),
array( 11, 10, 7, 5, 3, 0 ),
array( 11, 10, 7, 5, 2, 1 ),
array( 11, 10, 7, 4, 4, 0 ),
array( 11, 10, 7, 4, 3, 1 ),
array( 11, 10, 7, 4, 2, 2 ),
array( 11, 10, 7, 3, 3, 2 ),
array( 11, 10, 6, 6, 3, 0 ),
array( 11, 10, 6, 6, 2, 1 ),
array( 11, 10, 6, 5, 4, 0 ),
array( 11, 10, 6, 5, 3, 1 ),
array( 11, 10, 6, 5, 2, 2 ),
array( 11, 10, 6, 4, 4, 1 ),
array( 11, 10, 6, 4, 3, 2 ),
array( 11, 10, 6, 3, 3, 3 ),
array( 11, 10, 5, 5, 5, 0 ),
array( 11, 10, 5, 5, 4, 1 ),
array( 11, 10, 5, 5, 3, 2 ),
array( 11, 10, 5, 4, 4, 2 ),
array( 11, 10, 5, 4, 3, 3 ),
array( 11, 10, 4, 4, 4, 3 ),
array( 11, 9, 9, 7, 0, 0 ),
array( 11, 9, 9, 6, 1, 0 ),
array( 11, 9, 9, 5, 2, 0 ),
array( 11, 9, 9, 5, 1, 1 ),
array( 11, 9, 9, 4, 3, 0 ),
array( 11, 9, 9, 4, 2, 1 ),
array( 11, 9, 9, 3, 3, 1 ),
array( 11, 9, 9, 3, 2, 2 ),
array( 11, 9, 8, 8, 0, 0 ),
array( 11, 9, 8, 7, 1, 0 ),
array( 11, 9, 8, 6, 2, 0 ),
array( 11, 9, 8, 6, 1, 1 ),
array( 11, 9, 8, 5, 3, 0 ),
array( 11, 9, 8, 5, 2, 1 ),
array( 11, 9, 8, 4, 4, 0 ),
array( 11, 9, 8, 4, 3, 1 ),
array( 11, 9, 8, 4, 2, 2 ),
array( 11, 9, 8, 3, 3, 2 ),
array( 11, 9, 7, 7, 2, 0 ),
array( 11, 9, 7, 7, 1, 1 ),
array( 11, 9, 7, 6, 3, 0 ),
array( 11, 9, 7, 6, 2, 1 ),
array( 11, 9, 7, 5, 4, 0 ),
array( 11, 9, 7, 5, 3, 1 ),
array( 11, 9, 7, 5, 2, 2 ),
array( 11, 9, 7, 4, 4, 1 ),
array( 11, 9, 7, 4, 3, 2 ),
array( 11, 9, 7, 3, 3, 3 ),
array( 11, 9, 6, 6, 4, 0 ),
array( 11, 9, 6, 6, 3, 1 ),
array( 11, 9, 6, 6, 2, 2 ),
array( 11, 9, 6, 5, 5, 0 ),
array( 11, 9, 6, 5, 4, 1 ),
array( 11, 9, 6, 5, 3, 2 ),
array( 11, 9, 6, 4, 4, 2 ),
array( 11, 9, 6, 4, 3, 3 ),
array( 11, 9, 5, 5, 5, 1 ),
array( 11, 9, 5, 5, 4, 2 ),
array( 11, 9, 5, 5, 3, 3 ),
array( 11, 9, 5, 4, 4, 3 ),
array( 11, 9, 4, 4, 4, 4 ),
array( 11, 8, 8, 8, 1, 0 ),
array( 11, 8, 8, 7, 2, 0 ),
array( 11, 8, 8, 7, 1, 1 ),
array( 11, 8, 8, 6, 3, 0 ),
array( 11, 8, 8, 6, 2, 1 ),
array( 11, 8, 8, 5, 4, 0 ),
array( 11, 8, 8, 5, 3, 1 ),
array( 11, 8, 8, 5, 2, 2 ),
array( 11, 8, 8, 4, 4, 1 ),
array( 11, 8, 8, 4, 3, 2 ),
array( 11, 8, 8, 3, 3, 3 ),
array( 11, 8, 7, 7, 3, 0 ),
array( 11, 8, 7, 7, 2, 1 ),
array( 11, 8, 7, 6, 4, 0 ),
array( 11, 8, 7, 6, 3, 1 ),
array( 11, 8, 7, 6, 2, 2 ),
array( 11, 8, 7, 5, 5, 0 ),
array( 11, 8, 7, 5, 4, 1 ),
array( 11, 8, 7, 5, 3, 2 ),
array( 11, 8, 7, 4, 4, 2 ),
array( 11, 8, 7, 4, 3, 3 ),
array( 11, 8, 6, 6, 5, 0 ),
array( 11, 8, 6, 6, 4, 1 ),
array( 11, 8, 6, 6, 3, 2 ),
array( 11, 8, 6, 5, 5, 1 ),
array( 11, 8, 6, 5, 4, 2 ),
array( 11, 8, 6, 5, 3, 3 ),
array( 11, 8, 6, 4, 4, 3 ),
array( 11, 8, 5, 5, 5, 2 ),
array( 11, 8, 5, 5, 4, 3 ),
array( 11, 8, 5, 4, 4, 4 ),
array( 11, 7, 7, 7, 4, 0 ),
array( 11, 7, 7, 7, 3, 1 ),
array( 11, 7, 7, 7, 2, 2 ),
array( 11, 7, 7, 6, 5, 0 ),
array( 11, 7, 7, 6, 4, 1 ),
array( 11, 7, 7, 6, 3, 2 ),
array( 11, 7, 7, 5, 5, 1 ),
array( 11, 7, 7, 5, 4, 2 ),
array( 11, 7, 7, 5, 3, 3 ),
array( 11, 7, 7, 4, 4, 3 ),
array( 11, 7, 6, 6, 6, 0 ),
array( 11, 7, 6, 6, 5, 1 ),
array( 11, 7, 6, 6, 4, 2 ),
array( 11, 7, 6, 6, 3, 3 ),
array( 11, 7, 6, 5, 5, 2 ),
array( 11, 7, 6, 5, 4, 3 ),
array( 11, 7, 6, 4, 4, 4 ),
array( 11, 7, 5, 5, 5, 3 ),
array( 11, 7, 5, 5, 4, 4 ),
array( 11, 6, 6, 6, 6, 1 ),
array( 11, 6, 6, 6, 5, 2 ),
array( 11, 6, 6, 6, 4, 3 ),
array( 11, 6, 6, 5, 5, 3 ),
array( 11, 6, 6, 5, 4, 4 ),
array( 11, 6, 5, 5, 5, 4 ),
array( 11, 5, 5, 5, 5, 5 ),
array( 10, 10, 10, 6, 0, 0 ),
array( 10, 10, 10, 5, 1, 0 ),
array( 10, 10, 10, 4, 2, 0 ),
array( 10, 10, 10, 4, 1, 1 ),
array( 10, 10, 10, 3, 3, 0 ),
array( 10, 10, 10, 3, 2, 1 ),
array( 10, 10, 10, 2, 2, 2 ),
array( 10, 10, 9, 7, 0, 0 ),
array( 10, 10, 9, 6, 1, 0 ),
array( 10, 10, 9, 5, 2, 0 ),
array( 10, 10, 9, 5, 1, 1 ),
array( 10, 10, 9, 4, 3, 0 ),
array( 10, 10, 9, 4, 2, 1 ),
array( 10, 10, 9, 3, 3, 1 ),
array( 10, 10, 9, 3, 2, 2 ),
array( 10, 10, 8, 8, 0, 0 ),
array( 10, 10, 8, 7, 1, 0 ),
array( 10, 10, 8, 6, 2, 0 ),
array( 10, 10, 8, 6, 1, 1 ),
array( 10, 10, 8, 5, 3, 0 ),
array( 10, 10, 8, 5, 2, 1 ),
array( 10, 10, 8, 4, 4, 0 ),
array( 10, 10, 8, 4, 3, 1 ),
array( 10, 10, 8, 4, 2, 2 ),
array( 10, 10, 8, 3, 3, 2 ),
array( 10, 10, 7, 7, 2, 0 ),
array( 10, 10, 7, 7, 1, 1 ),
array( 10, 10, 7, 6, 3, 0 ),
array( 10, 10, 7, 6, 2, 1 ),
array( 10, 10, 7, 5, 4, 0 ),
array( 10, 10, 7, 5, 3, 1 ),
array( 10, 10, 7, 5, 2, 2 ),
array( 10, 10, 7, 4, 4, 1 ),
array( 10, 10, 7, 4, 3, 2 ),
array( 10, 10, 7, 3, 3, 3 ),
array( 10, 10, 6, 6, 4, 0 ),
array( 10, 10, 6, 6, 3, 1 ),
array( 10, 10, 6, 6, 2, 2 ),
array( 10, 10, 6, 5, 5, 0 ),
array( 10, 10, 6, 5, 4, 1 ),
array( 10, 10, 6, 5, 3, 2 ),
array( 10, 10, 6, 4, 4, 2 ),
array( 10, 10, 6, 4, 3, 3 ),
array( 10, 10, 5, 5, 5, 1 ),
array( 10, 10, 5, 5, 4, 2 ),
array( 10, 10, 5, 5, 3, 3 ),
array( 10, 10, 5, 4, 4, 3 ),
array( 10, 10, 4, 4, 4, 4 ),
array( 10, 9, 9, 8, 0, 0 ),
array( 10, 9, 9, 7, 1, 0 ),
array( 10, 9, 9, 6, 2, 0 ),
array( 10, 9, 9, 6, 1, 1 ),
array( 10, 9, 9, 5, 3, 0 ),
array( 10, 9, 9, 5, 2, 1 ),
array( 10, 9, 9, 4, 4, 0 ),
array( 10, 9, 9, 4, 3, 1 ),
array( 10, 9, 9, 4, 2, 2 ),
array( 10, 9, 9, 3, 3, 2 ),
array( 10, 9, 8, 8, 1, 0 ),
array( 10, 9, 8, 7, 2, 0 ),
array( 10, 9, 8, 7, 1, 1 ),
array( 10, 9, 8, 6, 3, 0 ),
array( 10, 9, 8, 6, 2, 1 ),
array( 10, 9, 8, 5, 4, 0 ),
array( 10, 9, 8, 5, 3, 1 ),
array( 10, 9, 8, 5, 2, 2 ),
array( 10, 9, 8, 4, 4, 1 ),
array( 10, 9, 8, 4, 3, 2 ),
array( 10, 9, 8, 3, 3, 3 ),
array( 10, 9, 7, 7, 3, 0 ),
array( 10, 9, 7, 7, 2, 1 ),
array( 10, 9, 7, 6, 4, 0 ),
array( 10, 9, 7, 6, 3, 1 ),
array( 10, 9, 7, 6, 2, 2 ),
array( 10, 9, 7, 5, 5, 0 ),
array( 10, 9, 7, 5, 4, 1 ),
array( 10, 9, 7, 5, 3, 2 ),
array( 10, 9, 7, 4, 4, 2 ),
array( 10, 9, 7, 4, 3, 3 ),
array( 10, 9, 6, 6, 5, 0 ),
array( 10, 9, 6, 6, 4, 1 ),
array( 10, 9, 6, 6, 3, 2 ),
array( 10, 9, 6, 5, 5, 1 ),
array( 10, 9, 6, 5, 4, 2 ),
array( 10, 9, 6, 5, 3, 3 ),
array( 10, 9, 6, 4, 4, 3 ),
array( 10, 9, 5, 5, 5, 2 ),
array( 10, 9, 5, 5, 4, 3 ),
array( 10, 9, 5, 4, 4, 4 ),
array( 10, 8, 8, 8, 2, 0 ),
array( 10, 8, 8, 8, 1, 1 ),
array( 10, 8, 8, 7, 3, 0 ),
array( 10, 8, 8, 7, 2, 1 ),
array( 10, 8, 8, 6, 4, 0 ),
array( 10, 8, 8, 6, 3, 1 ),
array( 10, 8, 8, 6, 2, 2 ),
array( 10, 8, 8, 5, 5, 0 ),
array( 10, 8, 8, 5, 4, 1 ),
array( 10, 8, 8, 5, 3, 2 ),
array( 10, 8, 8, 4, 4, 2 ),
array( 10, 8, 8, 4, 3, 3 ),
array( 10, 8, 7, 7, 4, 0 ),
array( 10, 8, 7, 7, 3, 1 ),
array( 10, 8, 7, 7, 2, 2 ),
array( 10, 8, 7, 6, 5, 0 ),
array( 10, 8, 7, 6, 4, 1 ),
array( 10, 8, 7, 6, 3, 2 ),
array( 10, 8, 7, 5, 5, 1 ),
array( 10, 8, 7, 5, 4, 2 ),
array( 10, 8, 7, 5, 3, 3 ),
array( 10, 8, 7, 4, 4, 3 ),
array( 10, 8, 6, 6, 6, 0 ),
array( 10, 8, 6, 6, 5, 1 ),
array( 10, 8, 6, 6, 4, 2 ),
array( 10, 8, 6, 6, 3, 3 ),
array( 10, 8, 6, 5, 5, 2 ),
array( 10, 8, 6, 5, 4, 3 ),
array( 10, 8, 6, 4, 4, 4 ),
array( 10, 8, 5, 5, 5, 3 ),
array( 10, 8, 5, 5, 4, 4 ),
array( 10, 7, 7, 7, 5, 0 ),
array( 10, 7, 7, 7, 4, 1 ),
array( 10, 7, 7, 7, 3, 2 ),
array( 10, 7, 7, 6, 6, 0 ),
array( 10, 7, 7, 6, 5, 1 ),
array( 10, 7, 7, 6, 4, 2 ),
array( 10, 7, 7, 6, 3, 3 ),
array( 10, 7, 7, 5, 5, 2 ),
array( 10, 7, 7, 5, 4, 3 ),
array( 10, 7, 7, 4, 4, 4 ),
array( 10, 7, 6, 6, 6, 1 ),
array( 10, 7, 6, 6, 5, 2 ),
array( 10, 7, 6, 6, 4, 3 ),
array( 10, 7, 6, 5, 5, 3 ),
array( 10, 7, 6, 5, 4, 4 ),
array( 10, 7, 5, 5, 5, 4 ),
array( 10, 6, 6, 6, 6, 2 ),
array( 10, 6, 6, 6, 5, 3 ),
array( 10, 6, 6, 6, 4, 4 ),
array( 10, 6, 6, 5, 5, 4 ),
array( 10, 6, 5, 5, 5, 5 ),
array( 9, 9, 9, 9, 0, 0 ),
array( 9, 9, 9, 8, 1, 0 ),
array( 9, 9, 9, 7, 2, 0 ),
array( 9, 9, 9, 7, 1, 1 ),
array( 9, 9, 9, 6, 3, 0 ),
array( 9, 9, 9, 6, 2, 1 ),
array( 9, 9, 9, 5, 4, 0 ),
array( 9, 9, 9, 5, 3, 1 ),
array( 9, 9, 9, 5, 2, 2 ),
array( 9, 9, 9, 4, 4, 1 ),
array( 9, 9, 9, 4, 3, 2 ),
array( 9, 9, 9, 3, 3, 3 ),
array( 9, 9, 8, 8, 2, 0 ),
array( 9, 9, 8, 8, 1, 1 ),
array( 9, 9, 8, 7, 3, 0 ),
array( 9, 9, 8, 7, 2, 1 ),
array( 9, 9, 8, 6, 4, 0 ),
array( 9, 9, 8, 6, 3, 1 ),
array( 9, 9, 8, 6, 2, 2 ),
array( 9, 9, 8, 5, 5, 0 ),
array( 9, 9, 8, 5, 4, 1 ),
array( 9, 9, 8, 5, 3, 2 ),
array( 9, 9, 8, 4, 4, 2 ),
array( 9, 9, 8, 4, 3, 3 ),
array( 9, 9, 7, 7, 4, 0 ),
array( 9, 9, 7, 7, 3, 1 ),
array( 9, 9, 7, 7, 2, 2 ),
array( 9, 9, 7, 6, 5, 0 ),
array( 9, 9, 7, 6, 4, 1 ),
array( 9, 9, 7, 6, 3, 2 ),
array( 9, 9, 7, 5, 5, 1 ),
array( 9, 9, 7, 5, 4, 2 ),
array( 9, 9, 7, 5, 3, 3 ),
array( 9, 9, 7, 4, 4, 3 ),
array( 9, 9, 6, 6, 6, 0 ),
array( 9, 9, 6, 6, 5, 1 ),
array( 9, 9, 6, 6, 4, 2 ),
array( 9, 9, 6, 6, 3, 3 ),
array( 9, 9, 6, 5, 5, 2 ),
array( 9, 9, 6, 5, 4, 3 ),
array( 9, 9, 6, 4, 4, 4 ),
array( 9, 9, 5, 5, 5, 3 ),
array( 9, 9, 5, 5, 4, 4 ),
array( 9, 8, 8, 8, 3, 0 ),
array( 9, 8, 8, 8, 2, 1 ),
array( 9, 8, 8, 7, 4, 0 ),
array( 9, 8, 8, 7, 3, 1 ),
array( 9, 8, 8, 7, 2, 2 ),
array( 9, 8, 8, 6, 5, 0 ),
array( 9, 8, 8, 6, 4, 1 ),
array( 9, 8, 8, 6, 3, 2 ),
array( 9, 8, 8, 5, 5, 1 ),
array( 9, 8, 8, 5, 4, 2 ),
array( 9, 8, 8, 5, 3, 3 ),
array( 9, 8, 8, 4, 4, 3 ),
array( 9, 8, 7, 7, 5, 0 ),
array( 9, 8, 7, 7, 4, 1 ),
array( 9, 8, 7, 7, 3, 2 ),
array( 9, 8, 7, 6, 6, 0 ),
array( 9, 8, 7, 6, 5, 1 ),
array( 9, 8, 7, 6, 4, 2 ),
array( 9, 8, 7, 6, 3, 3 ),
array( 9, 8, 7, 5, 5, 2 ),
array( 9, 8, 7, 5, 4, 3 ),
array( 9, 8, 7, 4, 4, 4 ),
array( 9, 8, 6, 6, 6, 1 ),
array( 9, 8, 6, 6, 5, 2 ),
array( 9, 8, 6, 6, 4, 3 ),
array( 9, 8, 6, 5, 5, 3 ),
array( 9, 8, 6, 5, 4, 4 ),
array( 9, 8, 5, 5, 5, 4 ),
array( 9, 7, 7, 7, 6, 0 ),
array( 9, 7, 7, 7, 5, 1 ),
array( 9, 7, 7, 7, 4, 2 ),
array( 9, 7, 7, 7, 3, 3 ),
array( 9, 7, 7, 6, 6, 1 ),
array( 9, 7, 7, 6, 5, 2 ),
array( 9, 7, 7, 6, 4, 3 ),
array( 9, 7, 7, 5, 5, 3 ),
array( 9, 7, 7, 5, 4, 4 ),
array( 9, 7, 6, 6, 6, 2 ),
array( 9, 7, 6, 6, 5, 3 ),
array( 9, 7, 6, 6, 4, 4 ),
array( 9, 7, 6, 5, 5, 4 ),
array( 9, 7, 5, 5, 5, 5 ),
array( 9, 6, 6, 6, 6, 3 ),
array( 9, 6, 6, 6, 5, 4 ),
array( 9, 6, 6, 5, 5, 5 ),
array( 8, 8, 8, 8, 4, 0 ),
array( 8, 8, 8, 8, 3, 1 ),
array( 8, 8, 8, 8, 2, 2 ),
array( 8, 8, 8, 7, 5, 0 ),
array( 8, 8, 8, 7, 4, 1 ),
array( 8, 8, 8, 7, 3, 2 ),
array( 8, 8, 8, 6, 6, 0 ),
array( 8, 8, 8, 6, 5, 1 ),
array( 8, 8, 8, 6, 4, 2 ),
array( 8, 8, 8, 6, 3, 3 ),
array( 8, 8, 8, 5, 5, 2 ),
array( 8, 8, 8, 5, 4, 3 ),
array( 8, 8, 8, 4, 4, 4 ),
array( 8, 8, 7, 7, 6, 0 ),
array( 8, 8, 7, 7, 5, 1 ),
array( 8, 8, 7, 7, 4, 2 ),
array( 8, 8, 7, 7, 3, 3 ),
array( 8, 8, 7, 6, 6, 1 ),
array( 8, 8, 7, 6, 5, 2 ),
array( 8, 8, 7, 6, 4, 3 ),
array( 8, 8, 7, 5, 5, 3 ),
array( 8, 8, 7, 5, 4, 4 ),
array( 8, 8, 6, 6, 6, 2 ),
array( 8, 8, 6, 6, 5, 3 ),
array( 8, 8, 6, 6, 4, 4 ),
array( 8, 8, 6, 5, 5, 4 ),
array( 8, 8, 5, 5, 5, 5 ),
array( 8, 7, 7, 7, 7, 0 ),
array( 8, 7, 7, 7, 6, 1 ),
array( 8, 7, 7, 7, 5, 2 ),
array( 8, 7, 7, 7, 4, 3 ),
array( 8, 7, 7, 6, 6, 2 ),
array( 8, 7, 7, 6, 5, 3 ),
array( 8, 7, 7, 6, 4, 4 ),
array( 8, 7, 7, 5, 5, 4 ),
array( 8, 7, 6, 6, 6, 3 ),
array( 8, 7, 6, 6, 5, 4 ),
array( 8, 7, 6, 5, 5, 5 ),
array( 8, 6, 6, 6, 6, 4 ),
array( 8, 6, 6, 6, 5, 5 ),
array( 7, 7, 7, 7, 7, 1 ),
array( 7, 7, 7, 7, 6, 2 ),
array( 7, 7, 7, 7, 5, 3 ),
array( 7, 7, 7, 7, 4, 4 ),
array( 7, 7, 7, 6, 6, 3 ),
array( 7, 7, 7, 6, 5, 4 ),
array( 7, 7, 7, 5, 5, 5 ),
array( 7, 7, 6, 6, 6, 4 ),
array( 7, 7, 6, 6, 5, 5 ),
array( 7, 6, 6, 6, 6, 5 ),
array( 6, 6, 6, 6, 6, 6 ),
);