Apriori算法:通过限制候选产生发现频繁项集
Apriori算法简介
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。
以上是百度解释,事实上思想很简单,以下是个人理解:
- 如何在事务数据库中发现某些项集的关联规则,即支持度与置信度,是这个算法的目标。
- 在事务数据库中,我们对每个项集的统计出现频次,也就是比如:你天天逛淘宝,每天会把一些商品加到购物车,那么,你每天添加这些商品的动作被记作一个事务,你添加的每个商品叫做一个项,在这样一个场景中,你对数据库中每个项做一次统计,得到每件商品的选择次数,也就是频次(作为绝对支持度)。此时项集大小=1,但是我们探求的关联度必然是两个和两个以上的项,也就是项集大小>=2。
- 首先从数据库中得到的初始信息就是每个项的频次,依照这个候选集C1,判断每个项的出现频次是否符合最小支持度,将符合的项加入到L1中,接着项集大小+1,组合出所有可能记录到C2,作为L2的候选集,接着再去判断每个组合出现的频次是否符合最小支持度,以此类推….直到Lk+1位空集,无法得到Ck+2,则输出Lk集。
- 这样的到算法主要解决组合与删除问题。
算法实现
pandas实现代码如下:
#-*- coding: gb2312 -*-
from __future__ import print_function
import pandas as pdd = pd.read_csv('apriori.txt', header=None, dtype = object)print(u'\n转换原始数据至0-1矩阵...')
import time
start = time.clock()
ct = lambda x : pd.Series(1, index = x)
b = map(ct, d.as_matrix())
d = pd.DataFrame(list(b)).fillna(0)
d = (d==1)
end = time.clock()
print(u'\n转换完毕,用时:%0.2f秒' %(end-start))
print(u'\n开始搜索关联规则...')
del bsupport = 0.06 #最小支持度
confidence = 0.75 #最小置信度
ms = '--' #连接符,用来区分不同元素,如A--B。需要保证原始表格中不含有该字符#自定义连接函数,用于实现L_{k-1}到C_k的连接
def connect_string(x, ms):x = list(map(lambda i:sorted(i.split(ms)), x))l = len(x[0])r = []for i in range(len(x)):for j in range(i,len(x)):if x[i][:l-1] == x[j][:l-1] and x[i][l-1] != x[j][l-1]:r.append(x[i][:l-1]+sorted([x[j][l-1],x[i][l-1]]))return r#寻找关联规则的函数
def find_rule(d, support, confidence):import timestart = time.clock()result = pd.DataFrame(index=['support', 'confidence']) #定义输出结果support_series = 1.0*d.sum()/len(d) #支持度序列column = list(support_series[support_series > support].index) #初步根据支持度筛选k = 0while len(column) > 1:k = k+1print(u'\n正在进行第%s次搜索...' %k)column = connect_string(column, ms)print(u'Find:%s...' %len(column))sf = lambda i: d[i].prod(axis=1, numeric_only = True) #新一批支持度的计算函数#创建连接数据,这一步耗时、耗内存最严重。当数据集较大时,可以考虑并行运算优化。d_2 = pd.DataFrame(list(map(sf,column)), index = [ms.join(i) for i in column]).Tsupport_series_2 = 1.0*d_2[[ms.join(i) for i in column]].sum()/len(d) #计算连接后的支持度column = list(support_series_2[support_series_2 > support].index) #新一轮支持度筛选support_series = support_series.append(support_series_2)column2 = []for i in column: #遍历可能的推理,如{A,B,C}究竟是A+B-->C还是B+C-->A还是C+A-->B?i = i.split(ms)for j in range(len(i)):column2.append(i[:j]+i[j+1:]+i[j:j+1])cofidence_series = pd.Series(index=[ms.join(i) for i in column2]) #定义置信度序列for i in column2: #计算置信度序列cofidence_series[ms.join(i)] = support_series[ms.join(sorted(i))]/support_series[ms.join(i[:len(i)-1])]for i in cofidence_series[cofidence_series > confidence].index: #置信度筛选result[i] = 0.0result[i]['confidence'] = cofidence_series[i]result[i]['support'] = support_series[ms.join(sorted(i.split(ms)))]result=result.T.sort_values(by=['confidence','support'], ascending = False) end = time.clock()print(u'\n搜索完成,用时:%0.2f秒' %(end-start))print(u'\n结果为:')print(result)return resultfind_rule(d, support, confidence).to_excel('rules.xls')
用到的知识
- pandas官方文档
- pandas使用中文简介blog
最后是测试数据apriori.txt文件数据:
A2,B1,C3,D3,E1,F1,H1
A2,B1,C3,D3,E1,F1,H1
A2,B1,C3,D3,E1,F1,H1
A2,B1,C3,D3,E1,F1,H1
A2,B2,C3,D3,E1,F1,H1
A1,B2,C1,D1,E1,F1,H1
A1,B1,C1,D1,E1,F1,H1
A1,B2,C1,D1,E1,F1,H1
A1,B2,C1,D1,E1,F1,H1
A1,B2,C1,D1,E1,F1,H1
A1,B2,C1,D3,E2,F1,H2
A3,B2,C1,D2,E3,F1,H2
A2,B2,C1,D3,E1,F1,H2
A2,B2,C1,D3,E1,F1,H2
A2,B1,C3,D1,E1,F1,H2
A1,B1,C2,D1,E3,F1,H1
A2,B2,C1,D3,E1,F1,H2
A1,B2,C1,D3,E2,F1,H2
A1,B2,C1,D3,E2,F1,H2
A1,B2,C1,D3,E2,F1,H2
A3,B2,C1,D2,E3,F1,H2
A3,B1,C2,D1,E1,F1,H1
A3,B2,C1,D2,E3,F1,H2
A1,B2,C1,D3,E2,F1,H2
A2,B2,C1,D2,E2,F1,H3
A3,B4,C2,D3,E4,F1,H4
A3,B1,C2,D1,E1,F1,H1
A1,B2,C1,D2,E2,F1,H3
A3,B1,C2,D1,E1,F1,H1
A1,B1,C2,D2,E3,F1,H1
A3,B1,C1,D3,E3,F1,H3
A3,B2,C1,D2,E3,F1,H2
A2,B2,C2,D3,E1,F1,H2
A3,B1,C2,D1,E1,F1,H1
A2,B2,C1,D3,E1,F1,H2
A2,B2,C1,D2,E2,F1,H3
A2,B2,C1,D2,E2,F1,H3
A1,B1,C2,D2,E3,F1,H1
A2,B1,C2,D4,E3,F1,H4
A1,B1,C2,D2,E3,F1,H1
A3,B2,C1,D3,E3,F1,H3
A3,B4,C3,D4,E4,F1,H4
A1,B2,C1,D3,E2,F1,H2
A3,B1,C3,D2,E2,F1,H4
A4,B2,C3,D2,E2,F1,H2
A1,B2,C2,D2,E1,F1,H3
A2,B2,C1,D3,E1,F1,H2
A4,B2,C2,D1,E2,F1,H2
A3,B2,C1,D2,E3,F1,H2
A3,B2,C1,D3,E3,F1,H3
A1,B2,C1,D2,E1,F1,H3
A2,B2,C2,D3,E1,F1,H2
A2,B1,C3,D1,E1,F1,H2
A3,B2,C3,D2,E2,F1,H4
A3,B2,C1,D3,E2,F1,H2
A1,B2,C1,D2,E1,F1,H3
A1,B3,C1,D2,E1,F1,H3
A1,B2,C2,D2,E1,F1,H3
A4,B2,C3,D2,E2,F1,H2
A3,B4,C3,D4,E4,F1,H4
A4,B2,C3,D2,E2,F1,H2
A1,B1,C2,D2,E3,F1,H1
A2,B1,C2,D4,E3,F1,H4
A2,B2,C2,D3,E1,F1,H2
A2,B1,C3,D1,E1,F1,H2
A2,B2,C1,D3,E2,F1,H2
A2,B1,C3,D1,E1,F1,H2
A1,B3,C2,D2,E1,F1,H3
A2,B2,C2,D3,E2,F1,H2
A3,B2,C3,D3,E2,F1,H4
A3,B2,C1,D3,E2,F1,H2
A3,B2,C1,D3,E2,F1,H2
A1,B2,C3,D1,E1,F1,H3
A2,B1,C3,D1,E2,F1,H2
A1,B2,C1,D3,E2,F1,H2
A2,B2,C1,D3,E2,F1,H3
A3,B2,C1,D1,E1,F1,H3
A2,B2,C2,D3,E1,F1,H2
A3,B2,C3,D3,E2,F1,H4
A4,B2,C3,D2,E2,F1,H2
A3,B2,C1,D3,E3,F1,H3
A3,B1,C2,D1,E1,F1,H1
A2,B1,C3,D1,E2,F1,H2
A2,B3,C1,D1,E2,F1,H3
A3,B2,C1,D3,E2,F1,H2
A3,B4,C3,D4,E4,F1,H4
A1,B1,C1,D1,E1,F1,H4
A2,B2,C2,D2,E1,F1,H3
A3,B4,C3,D4,E4,F1,H4
A2,B2,C1,D1,E1,F1,H3
A1,B2,C2,D2,E1,F1,H3
A1,B2,C2,D3,E2,F1,H2
A3,B2,C3,D3,E2,F1,H4
A2,B1,C1,D2,E3,F1,H3
A2,B1,C2,D4,E3,F1,H4
A4,B2,C1,D3,E3,F1,H3
A1,B3,C2,D2,E1,F1,H3
A3,B2,C1,D3,E2,F1,H2
A1,B1,C1,D3,E1,F1,H4
A2,B1,C3,D1,E1,F1,H2
A3,B2,C1,D1,E1,F1,H3
A1,B2,C2,D3,E2,F1,H2
A1,B2,C2,D2,E3,F1,H2
A2,B1,C2,D4,E3,F1,H4
A1,B2,C2,D2,E1,F1,H3
A2,B1,C2,D2,E3,F1,H4
A2,B3,C1,D1,E1,F1,H3
A2,B2,C2,D2,E1,F1,H3
A2,B1,C1,D2,E3,F1,H3
A3,B1,C2,D3,E1,F1,H2
A2,B3,C2,D1,E2,F1,H3
A2,B1,C2,D2,E3,F1,H4
A1,B2,C3,D1,E1,F1,H3
A3,B2,C2,D2,E1,F1,H2
A1,B2,C2,D2,E3,F1,H2
A1,B1,C2,D3,E4,F1,H4
A2,B3,C1,D1,E1,F1,H3
A2,B2,C2,D2,E1,F1,H3
A3,B2,C1,D1,E1,F1,H3
A1,B1,C2,D3,E4,F1,H4
A1,B1,C1,D3,E1,F1,H4
A2,B3,C2,D1,E2,F1,H3
A1,B2,C2,D2,E3,F1,H2
A2,B1,C1,D2,E3,F1,H3
A2,B1,C1,D2,E3,F1,H3
A1,B1,C1,D1,E1,F1,H4
A1,B2,C3,D1,E1,F1,H3
A3,B2,C3,D3,E1,F1,H1
A2,B2,C3,D1,E1,F1,H2
A2,B2,C2,D2,E1,F1,H3
A3,B2,C1,D1,E1,F1,H3
A1,B1,C2,D2,E1,F1,H2
A2,B3,C2,D1,E2,F1,H3
A2,B1,C2,D2,E3,F1,H4
A2,B3,C2,D1,E2,F1,H3
A2,B3,C1,D1,E1,F1,H3
A1,B1,C1,D1,E1,F1,H4
A1,B2,C3,D1,E1,F1,H3
A1,B1,C1,D3,E1,F1,H4
A2,B2,C2,D2,E1,F1,H3
A3,B1,C2,D2,E3,F1,H4
A1,B1,C2,D3,E4,F1,H4
A1,B1,C2,D1,E1,F1,H4
A1,B1,C2,D1,E2,F1,H2
A3,B2,C2,D2,E1,F1,H2
A1,B2,C2,D2,E1,F1,H3
A3,B1,C2,D2,E3,F1,H4
A2,B1,C2,D4,E3,F1,H4
A1,B1,C2,D1,E1,F1,H4
A3,B1,C2,D3,E1,F1,H2
A2,B1,C1,D2,E2,F1,H4
A2,B2,C2,D2,E3,F1,H2
A2,B3,C1,D1,E1,F1,H3
A2,B2,C3,D1,E1,F1,H2
A3,B2,C3,D3,E1,F1,H1
A3,B2,C3,D3,E1,F1,H1
A1,B1,C2,D2,E1,F1,H2
A1,B1,C1,D3,E1,F1,H4
A1,B1,C1,D3,E1,F1,H4
A3,B1,C2,D3,E1,F1,H2
A3,B3,C2,D2,E2,F1,H4
A3,B1,C3,D4,E1,F1,H2
A1,B2,C3,D1,E1,F1,H3
A1,B1,C2,D2,E1,F1,H2
A3,B2,C2,D2,E1,F1,H2
A3,B1,C2,D3,E1,F1,H2
A1,B1,C2,D1,E2,F1,H2
A1,B1,C2,D1,E2,F1,H2
A2,B2,C2,D2,E3,F1,H2
A2,B3,C2,D2,E2,F1,H4
A2,B1,C1,D2,E2,F1,H4
A1,B1,C1,D1,E1,F1,H2
A1,B1,C2,D3,E4,F1,H4
A3,B2,C3,D3,E1,F1,H1
A3,B1,C3,D4,E1,F1,H2
A1,B2,C2,D2,E3,F1,H2
A1,B1,C2,D2,E2,F1,H2
A1,B1,C2,D2,E3,F1,H3
A2,B3,C1,D1,E1,F1,H3
A1,B1,C3,D2,E1,F1,H2
A1,B1,C2,D2,E1,F1,H2
A2,B2,C3,D1,E1,F1,H2
A1,B1,C1,D1,E1,F1,H2
A3,B1,C3,D4,E1,F1,H2
A3,B3,C2,D2,E2,F1,H4
A2,B1,C1,D2,E3,F1,H3
A2,B1,C2,D1,E2,F1,H2
A2,B1,C1,D2,E2,F1,H4
A1,B1,C2,D2,E2,F1,H2
A3,B1,C2,D1,E1,F1,H3
A3,B2,C2,D2,E1,F1,H2
A1,B1,C2,D3,E3,F1,H1
A3,B2,C1,D3,E1,F1,H3
A3,B1,C2,D4,E1,F1,H3
A3,B3,C2,D2,E2,F1,H4
A1,B1,C2,D3,E4,F1,H4
A3,B2,C1,D2,E1,F1,H1
A3,B1,C3,D4,E1,F1,H2
A3,B1,C2,D3,E1,F1,H2
A3,B3,C2,D2,E2,F1,H4
A2,B3,C1,D2,E1,F2,H3
A2,B2,C2,D2,E3,F2,H2
A3,B2,C1,D2,E1,F2,H1
A1,B1,C1,D1,E1,F2,H2
A1,B2,C3,D1,E2,F2,H1
A3,B2,C3,D3,E1,F2,H1
A3,B1,C2,D1,E1,F2,H3
A3,B1,C3,D4,E1,F2,H2
A1,B2,C3,D1,E3,F2,H1
A1,B1,C2,D2,E3,F2,H3
A1,B1,C1,D1,E1,F2,H1
A3,B1,C2,D4,E2,F2,H3
A1,B1,C2,D2,E3,F2,H3
A3,B2,C1,D3,E1,F2,H3
A3,B1,C2,D1,E1,F2,H3
A3,B1,C2,D4,E2,F2,H3
A2,B1,C1,D2,E2,F2,H4
A2,B2,C2,D2,E3,F2,H2
A3,B2,C2,D2,E1,F2,H2
A2,B1,C2,D1,E2,F2,H2
A2,B1,C1,D3,E3,F2,H4
A2,B2,C3,D3,E3,F2,H2
A3,B1,C2,D4,E2,F2,H3
A1,B1,C2,D1,E2,F2,H2
A1,B1,C2,D2,E3,F2,H1
A1,B1,C2,D3,E3,F2,H1
A3,B2,C1,D2,E1,F2,H1
A1,B2,C3,D2,E3,F2,H2
A3,B1,C3,D3,E3,F2,H4
A1,B1,C1,D1,E1,F2,H2
A3,B1,C2,D4,E2,F2,H3
A1,B2,C3,D1,E3,F2,H1
A2,B2,C2,D2,E3,F2,H2
A1,B1,C1,D1,E1,F2,H2
A3,B2,C1,D2,E1,F2,H1
A3,B1,C2,D2,E3,F2,H4
A1,B2,C3,D2,E3,F2,H1
A1,B1,C2,D2,E3,F2,H3
A3,B2,C1,D3,E1,F2,H3
A2,B3,C1,D2,E1,F2,H3
A3,B1,C2,D1,E1,F2,H3
A1,B1,C2,D1,E2,F2,H2
A1,B1,C2,D3,E3,F2,H1
A2,B2,C3,D3,E3,F2,H2
A3,B2,C2,D3,E1,F2,H3
A2,B3,C1,D2,E1,F2,H3
A2,B1,C2,D1,E2,F2,H2
A1,B2,C1,D1,E2,F2,H1
A1,B1,C2,D3,E3,F2,H1
A3,B2,C1,D2,E1,F2,H1
A1,B2,C1,D1,E2,F2,H1
A1,B1,C2,D2,E3,F2,H3
A2,B2,C2,D2,E3,F2,H2
A3,B1,C3,D3,E3,F2,H4
A1,B2,C1,D1,E2,F2,H1
A2,B2,C3,D3,E3,F2,H2
A1,B1,C2,D1,E2,F2,H2
A3,B1,C2,D2,E3,F2,H4
A2,B2,C3,D3,E3,F2,H2
A2,B1,C1,D1,E1,F2,H4
A3,B1,C3,D3,E3,F2,H4
A2,B2,C2,D1,E1,F2,H2
A2,B1,C2,D1,E2,F2,H2
A1,B1,C2,D3,E3,F2,H4
A3,B2,C3,D3,E3,F2,H4
A3,B2,C2,D3,E1,F2,H3
A3,B1,C2,D1,E1,F2,H3
A2,B3,C1,D2,E1,F2,H3
A1,B2,C1,D1,E1,F2,H1
A2,B1,C2,D1,E2,F2,H2
A2,B3,C1,D2,E1,F2,H3
A1,B2,C1,D1,E2,F2,H1
A1,B1,C2,D1,E2,F2,H2
A1,B2,C2,D3,E3,F2,H1
A1,B1,C1,D1,E1,F2,H1
A1,B1,C1,D1,E1,F2,H1
A1,B1,C1,D1,E3,F2,H1
A3,B2,C1,D2,E4,F2,H4
A3,B1,C2,D2,E3,F2,H4
A1,B1,C3,D1,E2,F2,H2
A2,B2,C3,D2,E3,F2,H1
A1,B1,C1,D2,E3,F2,H1
A1,B2,C2,D3,E3,F2,H1
A1,B2,C1,D2,E2,F2,H1
A3,B1,C1,D1,E1,F2,H4
A1,B1,C2,D1,E1,F2,H1
A3,B1,C2,D2,E3,F2,H4
A3,B1,C2,D2,E3,F2,H4
A2,B2,C2,D1,E1,F2,H2
A1,B1,C1,D2,E3,F2,H1
A2,B1,C2,D2,E3,F2,H3
A3,B1,C2,D2,E1,F2,H2
A1,B1,C2,D2,E2,F2,H2
A3,B1,C3,D3,E3,F2,H4
A3,B1,C1,D1,E1,F2,H4
A3,B1,C2,D2,E3,F2,H4
A1,B2,C2,D3,E3,F2,H1
A3,B1,C1,D1,E1,F2,H4
A1,B1,C2,D1,E1,F2,H1
A3,B1,C2,D2,E1,F2,H2
A1,B2,C1,D1,E1,F2,H1
A2,B3,C2,D3,E1,F2,H4
A2,B1,C3,D1,E2,F2,H2
A1,B2,C2,D2,E3,F2,H3
A1,B1,C2,D3,E3,F2,H4
A1,B2,C2,D3,E3,F2,H1
A2,B3,C2,D3,E1,F2,H4
A2,B1,C2,D2,E3,F2,H3
A2,B2,C2,D1,E1,F2,H2
A1,B2,C2,D2,E3,F2,H3
A1,B1,C1,D3,E3,F2,H1
A3,B1,C2,D2,E3,F2,H4
A3,B2,C2,D2,E3,F2,H4
A1,B2,C1,D1,E1,F2,H1
A2,B1,C3,D1,E2,F2,H2
A2,B2,C2,D2,E3,F2,H3
A3,B2,C2,D2,E3,F2,H4
A1,B1,C1,D1,E3,F2,H1
A2,B1,C2,D2,E3,F2,H3
A2,B3,C2,D3,E1,F2,H4
A1,B2,C1,D2,E1,F2,H4
A2,B1,C2,D1,E2,F2,H2
A2,B2,C2,D1,E2,F2,H2
A3,B2,C1,D3,E4,F2,H4
A3,B2,C1,D3,E4,F2,H4
A3,B1,C2,D2,E1,F2,H2
A2,B2,C2,D2,E3,F2,H3
A1,B1,C2,D3,E3,F2,H4
A1,B1,C1,D1,E3,F2,H1
A1,B2,C2,D3,E3,F2,H1
A2,B1,C2,D2,E4,F2,H3
A1,B2,C1,D2,E1,F2,H3
A3,B1,C1,D1,E1,F2,H4
A1,B2,C1,D1,E1,F2,H1
A1,B1,C1,D3,E3,F2,H1
A1,B1,C3,D1,E1,F2,H3
A2,B1,C2,D1,E2,F2,H2
A2,B2,C2,D2,E3,F2,H3
A2,B1,C2,D3,E4,F2,H3
A2,B2,C2,D2,E2,F2,H2
A2,B2,C2,D2,E3,F2,H2
A1,B1,C3,D3,E3,F2,H4
A1,B2,C4,D3,E4,F2,H2
A1,B2,C1,D2,E1,F2,H3
A1,B1,C1,D1,E2,F2,H3
A2,B1,C3,D1,E2,F2,H2
A2,B3,C2,D3,E1,F2,H4
A2,B2,C2,D2,E3,F2,H4
A2,B2,C2,D2,E3,F2,H2
A3,B2,C2,D3,E4,F2,H4
A1,B1,C2,D3,E3,F2,H4
A3,B2,C2,D3,E4,F2,H4
A2,B3,C2,D3,E1,F2,H4
A3,B1,C2,D2,E1,F2,H2
A1,B1,C1,D1,E3,F2,H1
A2,B2,C2,D2,E2,F2,H2
A2,B2,C2,D2,E2,F2,H2
A2,B1,C3,D1,E2,F2,H2
A1,B1,C2,D2,E3,F2,H2
A1,B2,C1,D2,E1,F2,H3
A1,B1,C1,D1,E2,F2,H3
A2,B2,C2,D2,E3,F2,H4
A1,B1,C1,D3,E3,F2,H1
A1,B1,C1,D1,E3,F2,H1
A1,B1,C3,D1,E1,F2,H3
A1,B1,C2,D2,E3,F2,H2
A4,B2,C2,D2,E2,F2,H3
A2,B1,C2,D1,E2,F2,H2
A2,B2,C2,D2,E2,F2,H2
A1,B1,C3,D1,E1,F2,H3
A1,B2,C1,D2,E1,F2,H3
A2,B2,C1,D1,E1,F2,H1
A3,B1,C2,D2,E2,F2,H2
A4,B2,C3,D2,E2,F2,H3
A1,B2,C4,D3,E4,F2,H2
A1,B2,C1,D2,E1,F2,H3
A1,B2,C1,D2,E2,F2,H4
A2,B1,C2,D2,E2,F2,H2
A2,B2,C2,D2,E3,F2,H2
A3,B2,C2,D2,E3,F2,H4
A4,B2,C3,D2,E2,F2,H3
A3,B2,C2,D2,E3,F2,H4
A1,B2,C2,D3,E4,F2,H1
A2,B2,C2,D2,E3,F2,H4
A2,B2,C2,D2,E3,F2,H4
A2,B2,C2,D2,E3,F2,H2
A2,B2,C2,D1,E2,F2,H2
A4,B2,C3,D2,E2,F2,H3
A1,B1,C1,D1,E2,F2,H3
A2,B2,C2,D1,E3,F2,H4
A1,B1,C2,D2,E3,F2,H2
A1,B2,C2,D3,E4,F2,H1
A1,B1,C3,D1,E1,F2,H3
A1,B2,C1,D2,E2,F2,H4
A2,B1,C2,D2,E2,F2,H2
A4,B2,C3,D2,E2,F2,H3
A1,B1,C2,D2,E3,F2,H2
A3,B2,C2,D2,E3,F2,H4
A1,B2,C4,D3,E4,F2,H2
A1,B2,C2,D3,E4,F2,H1
A2,B2,C2,D2,E2,F2,H2
A3,B2,C1,D3,E3,F2,H2
A2,B2,C2,D2,E3,F2,H2
A1,B2,C4,D3,E4,F2,H2
A1,B2,C2,D2,E2,F2,H4
A3,B2,C2,D2,E3,F2,H4
A3,B2,C2,D2,E3,F2,H4
A1,B1,C3,D2,E3,F2,H2
A3,B2,C2,D2,E3,F2,H4
A3,B1,C1,D3,E3,F2,H4
A3,B2,C2,D2,E3,F2,H4
A2,B3,C1,D3,E1,F2,H3
A2,B1,C1,D1,E2,F2,H3
A2,B1,C1,D1,E2,F2,H3
A1,B2,C2,D3,E4,F2,H1
A1,B1,C1,D1,E2,F2,H3
A3,B2,C2,D2,E3,F2,H4
A2,B1,C2,D4,E4,F2,H3
A2,B2,C1,D2,E2,F2,H4
A3,B2,C1,D3,E3,F2,H2
A1,B1,C3,D1,E1,F2,H3
A2,B3,C1,D3,E1,F2,H3
A2,B3,C1,D3,E1,F2,H3
A2,B3,C1,D3,E1,F2,H3
A3,B1,C1,D3,E3,F2,H4
A1,B2,C4,D3,E4,F2,H2
A2,B2,C2,D2,E3,F2,H4
A3,B2,C2,D2,E3,F2,H4
A3,B2,C3,D2,E3,F2,H4
A1,B2,C2,D3,E4,F2,H1
A1,B1,C1,D3,E4,F2,H2
A3,B2,C1,D3,E3,F2,H2
A3,B2,C1,D3,E3,F2,H2
A3,B1,C1,D3,E4,F2,H4
A2,B2,C2,D4,E4,F2,H3
A2,B1,C1,D1,E2,F2,H3
A1,B1,C1,D3,E4,F2,H2
A2,B1,C1,D1,E2,F3,H3
A1,B1,C1,D3,E4,F3,H2
A2,B2,C2,D4,E4,F3,H3
A2,B2,C2,D4,E4,F3,H3
A2,B1,C1,D1,E2,F3,H3
A2,B1,C2,D2,E3,F3,H3
A4,B1,C1,D2,E3,F3,H4
A1,B1,C1,D3,E4,F3,H2
A2,B2,C2,D4,E4,F3,H3
A2,B2,C1,D3,E4,F3,H2
A2,B2,C1,D3,E4,F3,H2
A2,B2,C3,D2,E1,F3,H3
A3,B2,C1,D3,E3,F3,H2
A4,B1,C1,D3,E3,F3,H4
A3,B1,C2,D3,E4,F3,H4
A3,B1,C2,D2,E3,F3,H3
A3,B1,C2,D3,E1,F3,H3
A3,B1,C4,D3,E1,F3,H1
A2,B2,C3,D1,E3,F3,H2
A2,B3,C1,D3,E1,F3,H3
A3,B1,C2,D2,E1,F3,H4
A3,B1,C2,D2,E3,F3,H3
A4,B1,C2,D3,E1,F3,H4
A3,B3,C1,D1,E1,F3,H4
A3,B3,C1,D1,E1,F3,H4
A1,B1,C1,D1,E2,F3,H1
A2,B2,C3,D2,E1,F3,H3
A3,B3,C1,D1,E1,F3,H4
A1,B1,C1,D3,E4,F3,H2
A2,B2,C2,D2,E4,F3,H3
A3,B1,C2,D3,E1,F3,H3
A1,B2,C2,D2,E1,F3,H2
A3,B1,C2,D2,E3,F3,H3
A3,B1,C2,D2,E4,F3,H3
A2,B2,C2,D1,E3,F3,H4
A3,B1,C2,D3,E1,F3,H3
A2,B2,C1,D2,E3,F3,H4
A3,B1,C2,D3,E4,F3,H4
A2,B2,C1,D3,E4,F3,H2
A2,B2,C3,D2,E1,F3,H3
A3,B3,C1,D1,E2,F3,H4
A4,B1,C1,D3,E3,F3,H4
A3,B1,C1,D1,E4,F3,H4
A1,B3,C1,D2,E1,F3,H4
A3,B1,C2,D2,E1,F3,H4
A2,B2,C3,D2,E1,F3,H3
A1,B2,C2,D2,E2,F3,H2
A3,B2,C2,D2,E4,F3,H3
A2,B2,C1,D2,E3,F3,H4
A4,B1,C1,D3,E3,F3,H4
A2,B2,C3,D1,E4,F3,H4
A2,B2,C1,D3,E4,F3,H2
A4,B1,C2,D3,E1,F3,H4
A2,B2,C1,D2,E2,F3,H3
A2,B2,C3,D1,E4,F3,H4
A3,B1,C4,D3,E1,F3,H1
A2,B2,C2,D2,E2,F3,H2
A2,B2,C1,D2,E3,F3,H4
A2,B2,C1,D3,E4,F3,H2
A3,B1,C2,D1,E1,F3,H1
A3,B2,C2,D2,E4,F3,H3
A3,B1,C2,D3,E1,F3,H3
A3,B1,C2,D1,E2,F3,H3
A2,B2,C1,D2,E3,F3,H4
A4,B1,C1,D3,E3,F3,H4
A2,B2,C2,D2,E2,F3,H2
A1,B1,C1,D1,E2,F3,H1
A3,B2,C3,D1,E3,F3,H2
A3,B2,C2,D2,E4,F3,H3
A1,B3,C1,D2,E1,F3,H4
A3,B1,C2,D2,E1,F3,H4
A2,B1,C2,D1,E2,F3,H3
A1,B1,C1,D1,E2,F3,H1
A2,B2,C1,D1,E2,F3,H3
A3,B2,C3,D1,E3,F3,H2
A4,B1,C2,D3,E1,F3,H4
A3,B1,C2,D2,E1,F3,H4
A3,B1,C4,D3,E1,F3,H1
A2,B2,C3,D1,E4,F3,H4
A3,B2,C2,D2,E4,F3,H3
A3,B2,C2,D1,E1,F3,H1
A2,B2,C2,D1,E3,F3,H4
A1,B1,C1,D1,E2,F3,H1
A3,B2,C2,D1,E1,F3,H1
A2,B2,C1,D1,E2,F3,H3
A3,B2,C3,D1,E3,F3,H2
A2,B2,C1,D2,E3,F3,H4
A4,B1,C2,D3,E1,F3,H4
A3,B3,C1,D1,E2,F3,H4
A1,B3,C1,D1,E2,F3,H3
A2,B2,C1,D1,E2,F3,H3
A2,B2,C2,D2,E3,F3,H4
A3,B2,C2,D1,E4,F3,H1
A3,B1,C1,D1,E4,F3,H4
A3,B1,C4,D3,E1,F3,H1
A3,B1,C2,D1,E2,F3,H3
A2,B2,C1,D1,E2,F3,H3
A3,B1,C1,D1,E4,F3,H4
A3,B1,C2,D3,E1,F3,H3
A1,B1,C2,D3,E4,F3,H4
A2,B2,C3,D2,E1,F3,H3
A3,B1,C2,D1,E2,F3,H3
A1,B3,C1,D2,E1,F3,H4
A1,B3,C1,D1,E2,F3,H3
A2,B2,C2,D2,E3,F3,H4
A3,B2,C3,D1,E3,F3,H2
A2,B2,C3,D1,E4,F3,H4
A3,B1,C4,D3,E1,F3,H1
A3,B2,C2,D1,E4,F3,H1
A4,B2,C1,D1,E4,F3,H4
A3,B2,C2,D1,E1,F3,H1
A2,B1,C2,D2,E1,F3,H2
A2,B2,C2,D2,E3,F3,H4
A2,B1,C3,D2,E1,F3,H2
A1,B3,C2,D3,E2,F3,H3
A3,B2,C2,D1,E4,F3,H1
A3,B2,C2,D1,E4,F3,H1
A1,B3,C1,D2,E1,F3,H4
A2,B2,C2,D2,E2,F3,H2
A2,B2,C1,D1,E2,F3,H3
A4,B1,C3,D3,E1,F3,H4
A1,B3,C1,D2,E1,F3,H4
A1,B1,C1,D1,E2,F3,H1
A1,B1,C2,D3,E4,F3,H4
A3,B1,C3,D1,E1,F3,H3
A2,B2,C2,D3,E2,F3,H3
A3,B2,C2,D1,E2,F3,H4
A3,B2,C3,D1,E2,F3,H4
A1,B3,C1,D1,E2,F3,H3
A3,B1,C2,D1,E2,F3,H3
A3,B2,C2,D1,E1,F3,H1
A3,B2,C2,D2,E1,F3,H4
A1,B3,C1,D1,E2,F3,H3
A2,B2,C2,D1,E3,F3,H4
A2,B1,C3,D2,E1,F3,H2
A1,B3,C2,D3,E2,F3,H3
A2,B1,C1,D1,E3,F3,H4
A2,B2,C3,D2,E4,F3,H4
A4,B2,C1,D1,E4,F3,H4
A2,B1,C3,D2,E1,F3,H2
A2,B1,C2,D1,E2,F3,H3
A3,B2,C3,D1,E2,F3,H4
A2,B1,C1,D1,E3,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B1,C3,D2,E1,F3,H2
A2,B3,C1,D1,E2,F3,H3
A3,B1,C3,D1,E1,F3,H3
A1,B3,C2,D3,E2,F3,H3
A1,B2,C1,D1,E2,F3,H4
A4,B2,C2,D1,E3,F3,H4
A1,B1,C2,D3,E4,F3,H4
A3,B1,C3,D1,E1,F3,H3
A2,B2,C3,D2,E2,F3,H4
A3,B2,C3,D1,E2,F3,H4
A2,B3,C2,D2,E2,F3,H3
A1,B2,C1,D1,E2,F3,H4
A4,B1,C4,D4,E2,F3,H2
A4,B1,C4,D4,E2,F3,H2
A4,B1,C4,D4,E2,F3,H2
A2,B1,C1,D1,E3,F3,H4
A3,B2,C2,D1,E4,F3,H1
A2,B3,C3,D2,E2,F3,H4
A3,B2,C3,D1,E2,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B3,C3,D1,E1,F3,H4
A1,B3,C2,D3,E2,F3,H3
A2,B2,C2,D2,E3,F3,H4
A2,B2,C2,D3,E2,F3,H3
A2,B3,C2,D2,E2,F3,H4
A2,B3,C1,D2,E2,F3,H4
A2,B3,C2,D2,E2,F3,H3
A2,B1,C1,D1,E3,F3,H4
A3,B1,C3,D1,E1,F3,H3
A2,B3,C3,D2,E2,F3,H4
A1,B3,C2,D3,E2,F3,H3
A2,B3,C1,D2,E2,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B2,C2,D3,E2,F3,H3
A2,B3,C1,D2,E2,F3,H4
A1,B2,C1,D1,E2,F3,H4
A1,B1,C2,D1,E2,F3,H3
A1,B2,C1,D1,E2,F3,H4
A2,B2,C3,D2,E3,F3,H4
A1,B1,C2,D3,E4,F3,H4
A3,B1,C3,D1,E1,F3,H3
A2,B3,C1,D2,E2,F3,H4
A1,B2,C1,D1,E2,F3,H4
A4,B1,C4,D4,E3,F3,H2
A2,B2,C2,D1,E3,F3,H4
A2,B3,C3,D1,E1,F3,H4
A2,B2,C3,D2,E2,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B3,C1,D3,E2,F3,H4
A4,B1,C4,D4,E3,F3,H2
A4,B2,C3,D2,E3,F3,H4
A2,B3,C3,D1,E1,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B3,C2,D2,E2,F3,H4
A2,B2,C3,D2,E2,F3,H4
A2,B3,C2,D2,E2,F3,H3
A2,B2,C2,D2,E3,F3,H4
A4,B2,C3,D2,E3,F3,H4
A3,B3,C2,D1,E2,F3,H2
A2,B2,C3,D2,E2,F3,H4
A2,B1,C2,D1,E2,F3,H3
A2,B1,C2,D3,E4,F3,H4
A1,B3,C2,D3,E1,F3,H4
A2,B3,C3,D2,E2,F3,H4
A2,B3,C2,D2,E2,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B1,C2,D2,E2,F3,H4
A2,B1,C1,D2,E3,F3,H4
A2,B2,C2,D3,E2,F3,H3
A2,B3,C2,D2,E2,F3,H3
A4,B2,C3,D2,E3,F3,H4
A3,B3,C3,D1,E1,F3,H4
A2,B3,C2,D2,E2,F3,H4
A2,B3,C3,D2,E2,F3,H4
A2,B2,C3,D2,E2,F3,H4
A2,B1,C1,D2,E3,F3,H4
A2,B3,C2,D2,E2,F3,H3
A2,B2,C2,D2,E3,F3,H4
A2,B3,C3,D1,E1,F3,H4
A2,B3,C3,D2,E2,F3,H4
A3,B3,C2,D1,E2,F3,H2
A2,B1,C2,D1,E2,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B1,C2,D2,E2,F3,H4
A3,B3,C2,D1,E2,F3,H2
A2,B2,C2,D3,E2,F3,H3
A2,B1,C2,D2,E2,F3,H3
A4,B2,C3,D2,E3,F3,H4
A2,B1,C2,D2,E2,F3,H4
A2,B2,C2,D2,E3,F3,H4
A1,B3,C2,D3,E1,F3,H4
A2,B1,C2,D1,E2,F3,H3
A3,B3,C2,D1,E2,F3,H2
A1,B3,C2,D3,E1,F3,H4
A2,B2,C1,D2,E2,F3,H4
A3,B1,C2,D2,E2,F3,H4
A2,B2,C1,D2,E2,F3,H4
A3,B3,C2,D1,E2,F3,H2
A1,B2,C1,D2,E1,F3,H4
A1,B3,C2,D4,E1,F3,H4
A2,B1,C1,D2,E3,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B3,C1,D1,E2,F3,H4
A2,B2,C1,D1,E3,F3,H4
A2,B3,C3,D2,E2,F3,H4
A2,B2,C2,D2,E3,F3,H4
A2,B2,C1,D2,E2,F3,H4
A1,B3,C2,D3,E1,F3,H4
A3,B2,C1,D1,E3,F3,H4
A2,B2,C1,D2,E2,F3,H4
A1,B4,C1,D2,E1,F3,H4
A2,B2,C1,D2,E2,F3,H4
A2,B1,C1,D2,E3,F3,H4
A3,B2,C1,D1,E3,F3,H4
A1,B1,C1,D2,E3,F3,H4
A2,B2,C2,D3,E4,F3,H4
A2,B1,C2,D3,E4,F3,H4
A2,B1,C2,D3,E4,F4,H4
A4,B2,C4,D3,E2,F4,H1
A3,B1,C2,D1,E2,F4,H4
A2,B1,C2,D3,E4,F4,H4
A2,B2,C3,D3,E2,F4,H4
A2,B3,C3,D2,E2,F4,H4
A2,B2,C2,D3,E4,F4,H4
A2,B1,C2,D3,E4,F4,H4
A3,B4,C3,D3,E2,F4,H4
A2,B3,C1,D1,E2,F4,H4
A2,B1,C2,D2,E3,F4,H4
A1,B1,C1,D2,E3,F4,H4
A2,B2,C2,D4,E4,F4,H4
A3,B2,C4,D2,E1,F4,H4
A1,B4,C1,D2,E1,F4,H4
A1,B3,C1,D1,E2,F4,H3
A2,B1,C2,D2,E3,F4,H4
A3,B2,C2,D1,E3,F4,H4
A3,B2,C4,D2,E1,F4,H4
A2,B2,C3,D3,E1,F4,H4
A2,B2,C3,D3,E2,F4,H4
A1,B3,C2,D2,E2,F4,H4
A2,B3,C1,D1,E2,F4,H4
A3,B4,C3,D3,E2,F4,H4
A2,B2,C2,D4,E4,F4,H4
A1,B4,C1,D2,E1,F4,H4
A1,B3,C1,D2,E1,F4,H3
A2,B2,C3,D3,E2,F4,H4
A3,B2,C2,D1,E3,F4,H4
A3,B2,C4,D2,E1,F4,H4
A4,B2,C4,D3,E1,F4,H1
A4,B2,C4,D3,E2,F4,H1
A1,B1,C1,D2,E3,F4,H4
A2,B3,C2,D1,E2,F4,H4
A2,B2,C2,D4,E4,F4,H4
A1,B3,C1,D2,E2,F4,H3
A1,B3,C1,D1,E2,F4,H3
A3,B1,C2,D1,E2,F4,H4
A4,B3,C2,D1,E1,F4,H4
A1,B3,C1,D2,E2,F4,H3
A3,B4,C3,D3,E2,F4,H4
A3,B3,C4,D2,E1,F4,H4
A3,B1,C2,D1,E2,F4,H4
A1,B1,C1,D2,E3,F4,H4
A4,B3,C2,D1,E1,F4,H4
A2,B3,C2,D1,E2,F4,H2
A3,B1,C3,D2,E3,F4,H4
A3,B2,C4,D2,E1,F4,H4
A3,B2,C3,D2,E1,F4,H4
A2,B2,C3,D3,E2,F4,H4
A3,B3,C2,D1,E3,F4,H4
A2,B3,C2,D1,E1,F4,H4
A3,B2,C3,D2,E1,F4,H4
A1,B3,C1,D1,E2,F4,H3
A3,B4,C3,D3,E2,F4,H4
A2,B3,C3,D2,E2,F4,H4
A2,B3,C3,D2,E2,F4,H4
A3,B1,C2,D1,E2,F4,H4
A3,B2,C3,D3,E3,F4,H4
A3,B2,C3,D3,E4,F4,H4
A1,B3,C1,D2,E2,F4,H3
A4,B2,C4,D3,E2,F4,H1
A3,B1,C1,D2,E3,F4,H1
A4,B1,C4,D2,E2,F4,H4
A2,B3,C3,D2,E2,F4,H4
A2,B4,C1,D2,E1,F4,H4
A3,B1,C2,D1,E2,F4,H4
A3,B2,C3,D3,E4,F4,H4
A3,B3,C2,D2,E1,F4,H4
A2,B3,C3,D2,E2,F4,H4
A4,B3,C2,D1,E1,F4,H4
A3,B2,C3,D2,E1,F4,H4
A2,B3,C2,D1,E2,F4,H2
A2,B3,C2,D1,E2,F4,H2
A1,B3,C2,D2,E2,F4,H4
A3,B2,C2,D1,E1,F4,H4
A2,B2,C3,D2,E1,F4,H4
A2,B3,C2,D1,E1,F4,H4
A1,B3,C1,D3,E2,F4,H3
A1,B3,C2,D2,E2,F4,H4
A2,B2,C2,D4,E4,F4,H4
A1,B3,C2,D1,E2,F4,H3
A3,B2,C3,D3,E4,F4,H4
A4,B3,C2,D1,E1,F4,H4
A3,B4,C3,D3,E2,F4,H4
A1,B3,C1,D2,E2,F4,H2
A2,B3,C2,D1,E1,F4,H4
A4,B1,C4,D3,E2,F4,H4
A4,B2,C4,D3,E2,F4,H1
A1,B1,C1,D2,E3,F4,H4
A3,B1,C3,D3,E3,F4,H4
A3,B2,C3,D3,E4,F4,H4
A1,B1,C2,D3,E1,F4,H4
A1,B3,C1,D2,E2,F4,H2
A3,B2,C3,D3,E3,F4,H4
A3,B2,C3,D2,E1,F4,H4
A2,B3,C2,D1,E2,F4,H4
A1,B1,C3,D3,E2,F4,H4
A3,B1,C3,D3,E3,F4,H4
A3,B2,C3,D2,E1,F4,H4
A2,B3,C2,D1,E1,F4,H4
A2,B3,C1,D2,E2,F4,H3
A3,B2,C3,D2,E1,F4,H4
A3,B3,C2,D2,E1,F4,H4
A2,B3,C2,D1,E2,F4,H2
A3,B1,C2,D1,E1,F4,H4
A3,B2,C2,D1,E1,F4,H4
A4,B3,C2,D1,E1,F4,H4
A3,B3,C3,D2,E2,F4,H4
A3,B3,C3,D2,E2,F4,H4
A3,B2,C3,D2,E1,F4,H4
A1,B3,C2,D1,E2,F4,H3
A1,B1,C1,D3,E3,F4,H4
A3,B2,C2,D1,E1,F4,H4
A4,B1,C4,D3,E2,F4,H4
A2,B3,C1,D2,E2,F4,H3
A2,B3,C2,D2,E2,F4,H4
A2,B3,C1,D2,E2,F4,H2
A3,B2,C3,D3,E3,F4,H4
A3,B2,C2,D1,E1,F4,H4
A1,B1,C3,D3,E2,F4,H4
A3,B1,C1,D2,E3,F4,H1
A3,B1,C1,D2,E3,F4,H1
A3,B3,C2,D2,E1,F4,H4
A3,B2,C3,D2,E1,F4,H4
A4,B1,C4,D3,E2,F4,H4
A2,B3,C1,D2,E2,F4,H3
A2,B3,C2,D1,E2,F4,H2
A3,B3,C2,D2,E1,F4,H4
A3,B2,C3,D3,E3,F4,H4
A3,B1,C3,D3,E3,F4,H4
A2,B3,C1,D2,E2,F4,H2
A3,B1,C3,D3,E3,F4,H4
A3,B3,C3,D2,E2,F4,H4
A3,B1,C1,D2,E4,F4,H1
A3,B2,C3,D2,E1,F4,H4
A1,B1,C3,D3,E2,F4,H4
A2,B3,C2,D2,E2,F4,H3
A3,B2,C3,D3,E3,F4,H4
A3,B2,C3,D3,E4,F4,H4
A2,B3,C2,D2,E2,F4,H3
A2,B3,C3,D2,E2,F4,H4
A3,B3,C3,D2,E2,F4,H4
A3,B1,C1,D2,E4,F4,H1
A2,B3,C1,D1,E1,F4,H3
A2,B3,C1,D1,E2,F4,H4
A2,B3,C1,D2,E2,F4,H2
A2,B2,C1,D2,E3,F4,H4
A1,B1,C1,D3,E3,F4,H4
A3,B3,C2,D2,E1,F4,H4
A3,B3,C3,D2,E2,F4,H4
A1,B1,C1,D3,E3,F4,H4
A3,B2,C3,D1,E3,F4,H2
A1,B1,C3,D3,E2,F4,H4
A1,B2,C3,D1,E1,F4,H2
A4,B1,C4,D3,E2,F4,H4
A2,B3,C1,D1,E2,F4,H4
A2,B3,C1,D1,E1,F4,H3
A2,B1,C3,D2,E3,F4,H4
A1,B1,C1,D3,E3,F4,H4
A3,B2,C3,D1,E3,F4,H2
A2,B4,C2,D2,E1,F4,H3
A2,B1,C3,D1,E3,F4,H4
A2,B4,C2,D2,E2,F4,H4
A2,B3,C3,D1,E2,F4,H4
A1,B2,C3,D1,E1,F4,H2
A2,B3,C3,D1,E2,F4,H4
A1,B2,C3,D1,E2,F4,H2
A2,B4,C2,D2,E2,F4,H4
A2,B3,C1,D1,E2,F4,H4
A3,B2,C3,D1,E3,F4,H2
A2,B3,C1,D1,E1,F4,H3
A2,B4,C2,D2,E1,F4,H3
A2,B2,C1,D2,E3,F4,H4
A3,B2,C3,D1,E4,F4,H2
A2,B2,C3,D2,E3,F4,H4
A3,B2,C1,D2,E3,F4,H4
A2,B2,C1,D2,E3,F4,H4
A2,B3,C3,D1,E2,F4,H4
A2,B2,C3,D2,E3,F4,H4
A2,B2,C1,D2,E3,F4,H4
A3,B2,C1,D2,E3,F4,H4
A2,B3,C1,D1,E1,F4,H3
A2,B4,C2,D2,E2,F4,H4
A3,B3,C3,D2,E2,F4,H4
A2,B2,C1,D2,E3,F4,H4
A2,B3,C1,D1,E1,F4,H3
A2,B4,C2,D2,E1,F4,H3
A1,B1,C1,D3,E3,F4,H4
A1,B2,C3,D2,E2,F4,H2
A2,B3,C1,D1,E2,F4,H4
A1,B2,C3,D1,E2,F4,H2
A3,B2,C1,D2,E3,F4,H4
A2,B4,C2,D2,E1,F4,H3
A2,B3,C3,D1,E3,F4,H4
A2,B4,C2,D2,E2,F4,H4
A3,B3,C3,D1,E2,F4,H4
A2,B4,C2,D2,E1,F4,H3
A2,B3,C1,D1,E2,F4,H4
A3,B2,C1,D2,E3,F4,H4
A3,B2,C3,D1,E3,F4,H2
A2,B3,C3,D1,E3,F4,H4
A3,B3,C3,D1,E3,F4,H4
A3,B4,C2,D2,E2,F4,H4
A3,B2,C3,D2,E3,F4,H4
A3,B3,C3,D1,E3,F4,H4
A3,B2,C1,D2,E3,F4,H4
A1,B4,C1,D4,E4,F4,H4
A3,B3,C3,D1,E3,F4,H4
A1,B4,C1,D4,E4,F4,H4
A1,B4,C1,D4,E4,F4,H4
A1,B4,C1,D4,E4,F4,H4
A1,B4,C1,D4,E4,F4,H4
A2,B3,C3,D2,E2,F4,H4
A3,B3,C3,D2,E2,F4,H4
A2,B2,C2,D1,E2,F4,H4
A2,B2,C2,D1,E2,F4,H4
A3,B3,C3,D2,E2,F4,H4
A2,B2,C2,D2,E2,F4,H4
A2,B2,C2,D2,E2,F4,H4
A3,B3,C3,D3,E2,F4,H4
A3,B3,C3,D3,E2,F4,H4
A2,B2,C2,D2,E2,F4,H4
A4,B3,C4,D4,E1,F4,H2
A4,B3,C4,D4,E1,F4,H2
A4,B3,C4,D4,E1,F4,H2
A4,B3,C4,D4,E1,F4,H2
A4,B3,C4,D4,E1,F4,H2