http://blog.csdn.net/a9529lty/article/details/7711151
参考这位仁兄文章后,进一步改进,改成任意列集合的笛卡尔积
笛卡尔积算法的Java实现:
(1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。
(2)如果该列到尾部了,则这列index重置为0,而CounterIndex则指向前一列,相当于进位,把前列的index加一。
(3)最后,由生成的行数来控制退出循环。
package com.simland.core.base;
import java.util.List;
public class Cartesian {
private static String[][] xyz = null;
private static int counterIndex;
private static int[] counter;
public static void main(String[] args) throws Exception {
String[] aa = { "aa1", "aa2" };
String[] bb = { "bb1", "bb2", "bb3" };
String[] cc = { "cc1", "cc2", "cc3", "cc4" };
String[] dd = { "dd1", "dd2", "dd3", "dd4", "dd5", "dd6" };
String[] ee = { "ee1", "ee2", "ee3", "ee4" };
cartesian(aa, bb, cc, dd, ee);
}
public static void handle() {
counter[counterIndex]++;
if (counter[counterIndex] >= xyz[counterIndex].length) {
counter[counterIndex] = 0;
counterIndex--;
if (counterIndex >= 0) {
handle();
}
counterIndex = xyz.length - 1;
}
}
public static List
cartesian(String[]... elements) {
xyz = elements;
counterIndex = xyz.length - 1;
counter = new int[elements.length];
int len = 1;
for (String[] e : elements) {
len = e.length * len;
}
for (int i = 0; i < len; i++) {
int j = 0;
for (String[] e : elements) {
System.out.print(e[counter[j]]);
System.out.print("\t");
j++;
}
System.out.println();
handle();
}
return null;
}
}
打印结果 :
aa1 bb1 cc1 dd1 ee1
aa1 bb1 cc1 dd1 ee2
aa1 bb1 cc1 dd1 ee3
aa1 bb1 cc1 dd1 ee4
aa1 bb1 cc1 dd2 ee1
aa1 bb1 cc1 dd2 ee2
aa1 bb1 cc1 dd2 ee3
aa1 bb1 cc1 dd2 ee4
aa1 bb1 cc1 dd3 ee1
aa1 bb1 cc1 dd3 ee2
aa1 bb1 cc1 dd3 ee3
aa1 bb1 cc1 dd3 ee4
aa1 bb1 cc1 dd4 ee1
aa1 bb1 cc1 dd4 ee2
aa1 bb1 cc1 dd4 ee3
aa1 bb1 cc1 dd4 ee4
aa1 bb1 cc1 dd5 ee1
aa1 bb1 cc1 dd5 ee2
aa1 bb1 cc1 dd5 ee3
aa1 bb1 cc1 dd5 ee4
aa1 bb1 cc1 dd6 ee1
aa1 bb1 cc1 dd6 ee2
aa1 bb1 cc1 dd6 ee3
aa1 bb1 cc1 dd6 ee4
aa1 bb1 cc2 dd1 ee1
aa1 bb1 cc2 dd1 ee2
aa1 bb1 cc2 dd1 ee3
aa1 bb1 cc2 dd1 ee4
aa1 bb1 cc2 dd2 ee1
aa1 bb1 cc2 dd2 ee2
aa1 bb1 cc2 dd2 ee3
aa1 bb1 cc2 dd2 ee4
aa1 bb1 cc2 dd3 ee1
aa1 bb1 cc2 dd3 ee2
aa1 bb1 cc2 dd3 ee3
aa1 bb1 cc2 dd3 ee4
aa1 bb1 cc2 dd4 ee1
aa1 bb1 cc2 dd4 ee2
aa1 bb1 cc2 dd4 ee3
aa1 bb1 cc2 dd4 ee4
aa1 bb1 cc2 dd5 ee1
aa1 bb1 cc2 dd5 ee2
aa1 bb1 cc2 dd5 ee3
aa1 bb1 cc2 dd5 ee4
aa1 bb1 cc2 dd6 ee1
aa1 bb1 cc2 dd6 ee2
aa1 bb1 cc2 dd6 ee3
aa1 bb1 cc2 dd6 ee4
aa1 bb1 cc3 dd1 ee1
aa1 bb1 cc3 dd1 ee2
aa1 bb1 cc3 dd1 ee3
aa1 bb1 cc3 dd1 ee4
aa1 bb1 cc3 dd2 ee1
aa1 bb1 cc3 dd2 ee2
aa1 bb1 cc3 dd2 ee3
aa1 bb1 cc3 dd2 ee4
aa1 bb1 cc3 dd3 ee1
aa1 bb1 cc3 dd3 ee2
aa1 bb1 cc3 dd3 ee3
aa1 bb1 cc3 dd3 ee4
aa1 bb1 cc3 dd4 ee1
aa1 bb1 cc3 dd4 ee2
aa1 bb1 cc3 dd4 ee3
aa1 bb1 cc3 dd4 ee4
aa1 bb1 cc3 dd5 ee1
aa1 bb1 cc3 dd5 ee2
aa1 bb1 cc3 dd5 ee3
aa1 bb1 cc3 dd5 ee4
aa1 bb1 cc3 dd6 ee1
aa1 bb1 cc3 dd6 ee2
aa1 bb1 cc3 dd6 ee3
aa1 bb1 cc3 dd6 ee4
aa1 bb1 cc4 dd1 ee1
aa1 bb1 cc4 dd1 ee2
aa1 bb1 cc4 dd1 ee3
aa1 bb1 cc4 dd1 ee4
aa1 bb1 cc4 dd2 ee1
aa1 bb1 cc4 dd2 ee2
aa1 bb1 cc4 dd2 ee3
aa1 bb1 cc4 dd2 ee4
aa1 bb1 cc4 dd3 ee1
aa1 bb1 cc4 dd3 ee2
aa1 bb1 cc4 dd3 ee3
aa1 bb1 cc4 dd3 ee4
aa1 bb1 cc4 dd4 ee1
aa1 bb1 cc4 dd4 ee2
aa1 bb1 cc4 dd4 ee3
aa1 bb1 cc4 dd4 ee4
aa1 bb1 cc4 dd5 ee1
aa1 bb1 cc4 dd5 ee2
aa1 bb1 cc4 dd5 ee3
aa1 bb1 cc4 dd5 ee4
aa1 bb1 cc4 dd6 ee1
aa1 bb1 cc4 dd6 ee2
aa1 bb1 cc4 dd6 ee3
aa1 bb1 cc4 dd6 ee4
aa1 bb2 cc1 dd1 ee1
aa1 bb2 cc1 dd1 ee2
aa1 bb2 cc1 dd1 ee3
aa1 bb2 cc1 dd1 ee4
aa1 bb2 cc1 dd2 ee1
aa1 bb2 cc1 dd2 ee2
aa1 bb2 cc1 dd2 ee3
aa1 bb2 cc1 dd2 ee4
aa1 bb2 cc1 dd3 ee1
aa1 bb2 cc1 dd3 ee2
aa1 bb2 cc1 dd3 ee3
aa1 bb2 cc1 dd3 ee4
aa1 bb2 cc1 dd4 ee1
aa1 bb2 cc1 dd4 ee2
aa1 bb2 cc1 dd4 ee3
aa1 bb2 cc1 dd4 ee4
aa1 bb2 cc1 dd5 ee1
aa1 bb2 cc1 dd5 ee2
aa1 bb2 cc1 dd5 ee3
aa1 bb2 cc1 dd5 ee4
aa1 bb2 cc1 dd6 ee1
aa1 bb2 cc1 dd6 ee2
aa1 bb2 cc1 dd6 ee3
aa1 bb2 cc1 dd6 ee4
aa1 bb2 cc2 dd1 ee1
aa1 bb2 cc2 dd1 ee2
aa1 bb2 cc2 dd1 ee3
aa1 bb2 cc2 dd1 ee4
aa1 bb2 cc2 dd2 ee1
aa1 bb2 cc2 dd2 ee2
aa1 bb2 cc2 dd2 ee3
aa1 bb2 cc2 dd2 ee4
aa1 bb2 cc2 dd3 ee1
aa1 bb2 cc2 dd3 ee2
aa1 bb2 cc2 dd3 ee3
aa1 bb2 cc2 dd3 ee4
aa1 bb2 cc2 dd4 ee1
aa1 bb2 cc2 dd4 ee2
aa1 bb2 cc2 dd4 ee3
aa1 bb2 cc2 dd4 ee4
aa1 bb2 cc2 dd5 ee1
aa1 bb2 cc2 dd5 ee2
aa1 bb2 cc2 dd5 ee3
aa1 bb2 cc2 dd5 ee4
aa1 bb2 cc2 dd6 ee1
aa1 bb2 cc2 dd6 ee2
aa1 bb2 cc2 dd6 ee3
aa1 bb2 cc2 dd6 ee4
aa1 bb2 cc3 dd1 ee1
aa1 bb2 cc3 dd1 ee2
aa1 bb2 cc3 dd1 ee3
aa1 bb2 cc3 dd1 ee4
aa1 bb2 cc3 dd2 ee1
aa1 bb2 cc3 dd2 ee2
aa1 bb2 cc3 dd2 ee3
aa1 bb2 cc3 dd2 ee4
aa1 bb2 cc3 dd3 ee1
aa1 bb2 cc3 dd3 ee2
aa1 bb2 cc3 dd3 ee3
aa1 bb2 cc3 dd3 ee4
aa1 bb2 cc3 dd4 ee1
aa1 bb2 cc3 dd4 ee2
aa1 bb2 cc3 dd4 ee3
aa1 bb2 cc3 dd4 ee4
aa1 bb2 cc3 dd5 ee1
aa1 bb2 cc3 dd5 ee2
aa1 bb2 cc3 dd5 ee3
aa1 bb2 cc3 dd5 ee4
aa1 bb2 cc3 dd6 ee1
aa1 bb2 cc3 dd6 ee2
aa1 bb2 cc3 dd6 ee3
aa1 bb2 cc3 dd6 ee4
aa1 bb2 cc4 dd1 ee1
aa1 bb2 cc4 dd1 ee2
aa1 bb2 cc4 dd1 ee3
aa1 bb2 cc4 dd1 ee4
aa1 bb2 cc4 dd2 ee1
aa1 bb2 cc4 dd2 ee2
aa1 bb2 cc4 dd2 ee3
aa1 bb2 cc4 dd2 ee4
aa1 bb2 cc4 dd3 ee1
aa1 bb2 cc4 dd3 ee2
aa1 bb2 cc4 dd3 ee3
aa1 bb2 cc4 dd3 ee4
aa1 bb2 cc4 dd4 ee1
aa1 bb2 cc4 dd4 ee2
aa1 bb2 cc4 dd4 ee3
aa1 bb2 cc4 dd4 ee4
aa1 bb2 cc4 dd5 ee1
aa1 bb2 cc4 dd5 ee2
aa1 bb2 cc4 dd5 ee3
aa1 bb2 cc4 dd5 ee4
aa1 bb2 cc4 dd6 ee1
aa1 bb2 cc4 dd6 ee2
aa1 bb2 cc4 dd6 ee3
aa1 bb2 cc4 dd6 ee4
aa1 bb3 cc1 dd1 ee1
aa1 bb3 cc1 dd1 ee2
aa1 bb3 cc1 dd1 ee3
aa1 bb3 cc1 dd1 ee4
aa1 bb3 cc1 dd2 ee1
aa1 bb3 cc1 dd2 ee2
aa1 bb3 cc1 dd2 ee3
aa1 bb3 cc1 dd2 ee4
aa1 bb3 cc1 dd3 ee1
aa1 bb3 cc1 dd3 ee2
aa1 bb3 cc1 dd3 ee3
aa1 bb3 cc1 dd3 ee4
aa1 bb3 cc1 dd4 ee1
aa1 bb3 cc1 dd4 ee2
aa1 bb3 cc1 dd4 ee3
aa1 bb3 cc1 dd4 ee4
aa1 bb3 cc1 dd5 ee1
aa1 bb3 cc1 dd5 ee2
aa1 bb3 cc1 dd5 ee3
aa1 bb3 cc1 dd5 ee4
aa1 bb3 cc1 dd6 ee1
aa1 bb3 cc1 dd6 ee2
aa1 bb3 cc1 dd6 ee3
aa1 bb3 cc1 dd6 ee4
aa1 bb3 cc2 dd1 ee1
aa1 bb3 cc2 dd1 ee2
aa1 bb3 cc2 dd1 ee3
aa1 bb3 cc2 dd1 ee4
aa1 bb3 cc2 dd2 ee1
aa1 bb3 cc2 dd2 ee2
aa1 bb3 cc2 dd2 ee3
aa1 bb3 cc2 dd2 ee4
aa1 bb3 cc2 dd3 ee1
aa1 bb3 cc2 dd3 ee2
aa1 bb3 cc2 dd3 ee3
aa1 bb3 cc2 dd3 ee4
aa1 bb3 cc2 dd4 ee1
aa1 bb3 cc2 dd4 ee2
aa1 bb3 cc2 dd4 ee3
aa1 bb3 cc2 dd4 ee4
aa1 bb3 cc2 dd5 ee1
aa1 bb3 cc2 dd5 ee2
aa1 bb3 cc2 dd5 ee3
aa1 bb3 cc2 dd5 ee4
aa1 bb3 cc2 dd6 ee1
aa1 bb3 cc2 dd6 ee2
aa1 bb3 cc2 dd6 ee3
aa1 bb3 cc2 dd6 ee4
aa1 bb3 cc3 dd1 ee1
aa1 bb3 cc3 dd1 ee2
aa1 bb3 cc3 dd1 ee3
aa1 bb3 cc3 dd1 ee4
aa1 bb3 cc3 dd2 ee1
aa1 bb3 cc3 dd2 ee2
aa1 bb3 cc3 dd2 ee3
aa1 bb3 cc3 dd2 ee4
aa1 bb3 cc3 dd3 ee1
aa1 bb3 cc3 dd3 ee2
aa1 bb3 cc3 dd3 ee3
aa1 bb3 cc3 dd3 ee4
aa1 bb3 cc3 dd4 ee1
aa1 bb3 cc3 dd4 ee2
aa1 bb3 cc3 dd4 ee3
aa1 bb3 cc3 dd4 ee4
aa1 bb3 cc3 dd5 ee1
aa1 bb3 cc3 dd5 ee2
aa1 bb3 cc3 dd5 ee3
aa1 bb3 cc3 dd5 ee4
aa1 bb3 cc3 dd6 ee1
aa1 bb3 cc3 dd6 ee2
aa1 bb3 cc3 dd6 ee3
aa1 bb3 cc3 dd6 ee4
aa1 bb3 cc4 dd1 ee1
aa1 bb3 cc4 dd1 ee2
aa1 bb3 cc4 dd1 ee3
aa1 bb3 cc4 dd1 ee4
aa1 bb3 cc4 dd2 ee1
aa1 bb3 cc4 dd2 ee2
aa1 bb3 cc4 dd2 ee3
aa1 bb3 cc4 dd2 ee4
aa1 bb3 cc4 dd3 ee1
aa1 bb3 cc4 dd3 ee2
aa1 bb3 cc4 dd3 ee3
aa1 bb3 cc4 dd3 ee4
aa1 bb3 cc4 dd4 ee1
aa1 bb3 cc4 dd4 ee2
aa1 bb3 cc4 dd4 ee3
aa1 bb3 cc4 dd4 ee4
aa1 bb3 cc4 dd5 ee1
aa1 bb3 cc4 dd5 ee2
aa1 bb3 cc4 dd5 ee3
aa1 bb3 cc4 dd5 ee4
aa1 bb3 cc4 dd6 ee1
aa1 bb3 cc4 dd6 ee2
aa1 bb3 cc4 dd6 ee3
aa1 bb3 cc4 dd6 ee4
aa2 bb1 cc1 dd1 ee1
aa2 bb1 cc1 dd1 ee2
aa2 bb1 cc1 dd1 ee3
aa2 bb1 cc1 dd1 ee4
aa2 bb1 cc1 dd2 ee1
aa2 bb1 cc1 dd2 ee2
aa2 bb1 cc1 dd2 ee3
aa2 bb1 cc1 dd2 ee4
aa2 bb1 cc1 dd3 ee1
aa2 bb1 cc1 dd3 ee2
aa2 bb1 cc1 dd3 ee3
aa2 bb1 cc1 dd3 ee4
aa2 bb1 cc1 dd4 ee1
aa2 bb1 cc1 dd4 ee2
aa2 bb1 cc1 dd4 ee3
aa2 bb1 cc1 dd4 ee4
aa2 bb1 cc1 dd5 ee1
aa2 bb1 cc1 dd5 ee2
aa2 bb1 cc1 dd5 ee3
aa2 bb1 cc1 dd5 ee4
aa2 bb1 cc1 dd6 ee1
aa2 bb1 cc1 dd6 ee2
aa2 bb1 cc1 dd6 ee3
aa2 bb1 cc1 dd6 ee4
aa2 bb1 cc2 dd1 ee1
aa2 bb1 cc2 dd1 ee2
aa2 bb1 cc2 dd1 ee3
aa2 bb1 cc2 dd1 ee4
aa2 bb1 cc2 dd2 ee1
aa2 bb1 cc2 dd2 ee2
aa2 bb1 cc2 dd2 ee3
aa2 bb1 cc2 dd2 ee4
aa2 bb1 cc2 dd3 ee1
aa2 bb1 cc2 dd3 ee2
aa2 bb1 cc2 dd3 ee3
aa2 bb1 cc2 dd3 ee4
aa2 bb1 cc2 dd4 ee1
aa2 bb1 cc2 dd4 ee2
aa2 bb1 cc2 dd4 ee3
aa2 bb1 cc2 dd4 ee4
aa2 bb1 cc2 dd5 ee1
aa2 bb1 cc2 dd5 ee2
aa2 bb1 cc2 dd5 ee3
aa2 bb1 cc2 dd5 ee4
aa2 bb1 cc2 dd6 ee1
aa2 bb1 cc2 dd6 ee2
aa2 bb1 cc2 dd6 ee3
aa2 bb1 cc2 dd6 ee4
aa2 bb1 cc3 dd1 ee1
aa2 bb1 cc3 dd1 ee2
aa2 bb1 cc3 dd1 ee3
aa2 bb1 cc3 dd1 ee4
aa2 bb1 cc3 dd2 ee1
aa2 bb1 cc3 dd2 ee2
aa2 bb1 cc3 dd2 ee3
aa2 bb1 cc3 dd2 ee4
aa2 bb1 cc3 dd3 ee1
aa2 bb1 cc3 dd3 ee2
aa2 bb1 cc3 dd3 ee3
aa2 bb1 cc3 dd3 ee4
aa2 bb1 cc3 dd4 ee1
aa2 bb1 cc3 dd4 ee2
aa2 bb1 cc3 dd4 ee3
aa2 bb1 cc3 dd4 ee4
aa2 bb1 cc3 dd5 ee1
aa2 bb1 cc3 dd5 ee2
aa2 bb1 cc3 dd5 ee3
aa2 bb1 cc3 dd5 ee4
aa2 bb1 cc3 dd6 ee1
aa2 bb1 cc3 dd6 ee2
aa2 bb1 cc3 dd6 ee3
aa2 bb1 cc3 dd6 ee4
aa2 bb1 cc4 dd1 ee1
aa2 bb1 cc4 dd1 ee2
aa2 bb1 cc4 dd1 ee3
aa2 bb1 cc4 dd1 ee4
aa2 bb1 cc4 dd2 ee1
aa2 bb1 cc4 dd2 ee2
aa2 bb1 cc4 dd2 ee3
aa2 bb1 cc4 dd2 ee4
aa2 bb1 cc4 dd3 ee1
aa2 bb1 cc4 dd3 ee2
aa2 bb1 cc4 dd3 ee3
aa2 bb1 cc4 dd3 ee4
aa2 bb1 cc4 dd4 ee1
aa2 bb1 cc4 dd4 ee2
aa2 bb1 cc4 dd4 ee3
aa2 bb1 cc4 dd4 ee4
aa2 bb1 cc4 dd5 ee1
aa2 bb1 cc4 dd5 ee2
aa2 bb1 cc4 dd5 ee3
aa2 bb1 cc4 dd5 ee4
aa2 bb1 cc4 dd6 ee1
aa2 bb1 cc4 dd6 ee2
aa2 bb1 cc4 dd6 ee3
aa2 bb1 cc4 dd6 ee4
aa2 bb2 cc1 dd1 ee1
aa2 bb2 cc1 dd1 ee2
aa2 bb2 cc1 dd1 ee3
aa2 bb2 cc1 dd1 ee4
aa2 bb2 cc1 dd2 ee1
aa2 bb2 cc1 dd2 ee2
aa2 bb2 cc1 dd2 ee3
aa2 bb2 cc1 dd2 ee4
aa2 bb2 cc1 dd3 ee1
aa2 bb2 cc1 dd3 ee2
aa2 bb2 cc1 dd3 ee3
aa2 bb2 cc1 dd3 ee4
aa2 bb2 cc1 dd4 ee1
aa2 bb2 cc1 dd4 ee2
aa2 bb2 cc1 dd4 ee3
aa2 bb2 cc1 dd4 ee4
aa2 bb2 cc1 dd5 ee1
aa2 bb2 cc1 dd5 ee2
aa2 bb2 cc1 dd5 ee3
aa2 bb2 cc1 dd5 ee4
aa2 bb2 cc1 dd6 ee1
aa2 bb2 cc1 dd6 ee2
aa2 bb2 cc1 dd6 ee3
aa2 bb2 cc1 dd6 ee4
aa2 bb2 cc2 dd1 ee1
aa2 bb2 cc2 dd1 ee2
aa2 bb2 cc2 dd1 ee3
aa2 bb2 cc2 dd1 ee4
aa2 bb2 cc2 dd2 ee1
aa2 bb2 cc2 dd2 ee2
aa2 bb2 cc2 dd2 ee3
aa2 bb2 cc2 dd2 ee4
aa2 bb2 cc2 dd3 ee1
aa2 bb2 cc2 dd3 ee2
aa2 bb2 cc2 dd3 ee3
aa2 bb2 cc2 dd3 ee4
aa2 bb2 cc2 dd4 ee1
aa2 bb2 cc2 dd4 ee2
aa2 bb2 cc2 dd4 ee3
aa2 bb2 cc2 dd4 ee4
aa2 bb2 cc2 dd5 ee1
aa2 bb2 cc2 dd5 ee2
aa2 bb2 cc2 dd5 ee3
aa2 bb2 cc2 dd5 ee4
aa2 bb2 cc2 dd6 ee1
aa2 bb2 cc2 dd6 ee2
aa2 bb2 cc2 dd6 ee3
aa2 bb2 cc2 dd6 ee4
aa2 bb2 cc3 dd1 ee1
aa2 bb2 cc3 dd1 ee2
aa2 bb2 cc3 dd1 ee3
aa2 bb2 cc3 dd1 ee4
aa2 bb2 cc3 dd2 ee1
aa2 bb2 cc3 dd2 ee2
aa2 bb2 cc3 dd2 ee3
aa2 bb2 cc3 dd2 ee4
aa2 bb2 cc3 dd3 ee1
aa2 bb2 cc3 dd3 ee2
aa2 bb2 cc3 dd3 ee3
aa2 bb2 cc3 dd3 ee4
aa2 bb2 cc3 dd4 ee1
aa2 bb2 cc3 dd4 ee2
aa2 bb2 cc3 dd4 ee3
aa2 bb2 cc3 dd4 ee4
aa2 bb2 cc3 dd5 ee1
aa2 bb2 cc3 dd5 ee2
aa2 bb2 cc3 dd5 ee3
aa2 bb2 cc3 dd5 ee4
aa2 bb2 cc3 dd6 ee1
aa2 bb2 cc3 dd6 ee2
aa2 bb2 cc3 dd6 ee3
aa2 bb2 cc3 dd6 ee4
aa2 bb2 cc4 dd1 ee1
aa2 bb2 cc4 dd1 ee2
aa2 bb2 cc4 dd1 ee3
aa2 bb2 cc4 dd1 ee4
aa2 bb2 cc4 dd2 ee1
aa2 bb2 cc4 dd2 ee2
aa2 bb2 cc4 dd2 ee3
aa2 bb2 cc4 dd2 ee4
aa2 bb2 cc4 dd3 ee1
aa2 bb2 cc4 dd3 ee2
aa2 bb2 cc4 dd3 ee3
aa2 bb2 cc4 dd3 ee4
aa2 bb2 cc4 dd4 ee1
aa2 bb2 cc4 dd4 ee2
aa2 bb2 cc4 dd4 ee3
aa2 bb2 cc4 dd4 ee4
aa2 bb2 cc4 dd5 ee1
aa2 bb2 cc4 dd5 ee2
aa2 bb2 cc4 dd5 ee3
aa2 bb2 cc4 dd5 ee4
aa2 bb2 cc4 dd6 ee1
aa2 bb2 cc4 dd6 ee2
aa2 bb2 cc4 dd6 ee3
aa2 bb2 cc4 dd6 ee4
aa2 bb3 cc1 dd1 ee1
aa2 bb3 cc1 dd1 ee2
aa2 bb3 cc1 dd1 ee3
aa2 bb3 cc1 dd1 ee4
aa2 bb3 cc1 dd2 ee1
aa2 bb3 cc1 dd2 ee2
aa2 bb3 cc1 dd2 ee3
aa2 bb3 cc1 dd2 ee4
aa2 bb3 cc1 dd3 ee1
aa2 bb3 cc1 dd3 ee2
aa2 bb3 cc1 dd3 ee3
aa2 bb3 cc1 dd3 ee4
aa2 bb3 cc1 dd4 ee1
aa2 bb3 cc1 dd4 ee2
aa2 bb3 cc1 dd4 ee3
aa2 bb3 cc1 dd4 ee4
aa2 bb3 cc1 dd5 ee1
aa2 bb3 cc1 dd5 ee2
aa2 bb3 cc1 dd5 ee3
aa2 bb3 cc1 dd5 ee4
aa2 bb3 cc1 dd6 ee1
aa2 bb3 cc1 dd6 ee2
aa2 bb3 cc1 dd6 ee3
aa2 bb3 cc1 dd6 ee4
aa2 bb3 cc2 dd1 ee1
aa2 bb3 cc2 dd1 ee2
aa2 bb3 cc2 dd1 ee3
aa2 bb3 cc2 dd1 ee4
aa2 bb3 cc2 dd2 ee1
aa2 bb3 cc2 dd2 ee2
aa2 bb3 cc2 dd2 ee3
aa2 bb3 cc2 dd2 ee4
aa2 bb3 cc2 dd3 ee1
aa2 bb3 cc2 dd3 ee2
aa2 bb3 cc2 dd3 ee3
aa2 bb3 cc2 dd3 ee4
aa2 bb3 cc2 dd4 ee1
aa2 bb3 cc2 dd4 ee2
aa2 bb3 cc2 dd4 ee3
aa2 bb3 cc2 dd4 ee4
aa2 bb3 cc2 dd5 ee1
aa2 bb3 cc2 dd5 ee2
aa2 bb3 cc2 dd5 ee3
aa2 bb3 cc2 dd5 ee4
aa2 bb3 cc2 dd6 ee1
aa2 bb3 cc2 dd6 ee2
aa2 bb3 cc2 dd6 ee3
aa2 bb3 cc2 dd6 ee4
aa2 bb3 cc3 dd1 ee1
aa2 bb3 cc3 dd1 ee2
aa2 bb3 cc3 dd1 ee3
aa2 bb3 cc3 dd1 ee4
aa2 bb3 cc3 dd2 ee1
aa2 bb3 cc3 dd2 ee2
aa2 bb3 cc3 dd2 ee3
aa2 bb3 cc3 dd2 ee4
aa2 bb3 cc3 dd3 ee1
aa2 bb3 cc3 dd3 ee2
aa2 bb3 cc3 dd3 ee3
aa2 bb3 cc3 dd3 ee4
aa2 bb3 cc3 dd4 ee1
aa2 bb3 cc3 dd4 ee2
aa2 bb3 cc3 dd4 ee3
aa2 bb3 cc3 dd4 ee4
aa2 bb3 cc3 dd5 ee1
aa2 bb3 cc3 dd5 ee2
aa2 bb3 cc3 dd5 ee3
aa2 bb3 cc3 dd5 ee4
aa2 bb3 cc3 dd6 ee1
aa2 bb3 cc3 dd6 ee2
aa2 bb3 cc3 dd6 ee3
aa2 bb3 cc3 dd6 ee4
aa2 bb3 cc4 dd1 ee1
aa2 bb3 cc4 dd1 ee2
aa2 bb3 cc4 dd1 ee3
aa2 bb3 cc4 dd1 ee4
aa2 bb3 cc4 dd2 ee1
aa2 bb3 cc4 dd2 ee2
aa2 bb3 cc4 dd2 ee3
aa2 bb3 cc4 dd2 ee4
aa2 bb3 cc4 dd3 ee1
aa2 bb3 cc4 dd3 ee2
aa2 bb3 cc4 dd3 ee3
aa2 bb3 cc4 dd3 ee4
aa2 bb3 cc4 dd4 ee1
aa2 bb3 cc4 dd4 ee2
aa2 bb3 cc4 dd4 ee3
aa2 bb3 cc4 dd4 ee4
aa2 bb3 cc4 dd5 ee1
aa2 bb3 cc4 dd5 ee2
aa2 bb3 cc4 dd5 ee3
aa2 bb3 cc4 dd5 ee4
aa2 bb3 cc4 dd6 ee1
aa2 bb3 cc4 dd6 ee2
aa2 bb3 cc4 dd6 ee3
aa2 bb3 cc4 dd6 ee4