In [1]:
import pandas as pd
import numpy as np

In [ ]:


In [2]:
chunksize = 50000
train_fname = "../input/train_categorical.csv"
test_fname = "../input/test_categorical.csv"

output_fname = "../input/train_categorical_250000.out.csv"

In [ ]:


In [3]:
def cat_values(fname):
    setl = set()
    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):
        print '*',
        data = pd.DataFrame()
        data = data.append(chunk, ignore_index=True)

        for item in data.itertuples():
            setl = setl.union(set(item[1:]))
    print setl

In [9]:
%time t1 = cat_values(train_fname)


* * * * * * * * * * * * * * * * * * * * * * * * set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])
Wall time: 9min 52s

In [4]:
%time t2 = cat_values(test_fname)


* * * * * * * * * * * * * * * * * * * * * * * * set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])
Wall time: 9min 51s

In [14]:
t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])

t2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])

In [15]:
print len(t1),
print len(t2)

print len(t1.union(t2))


93 99
107

In [16]:
t1.union(t2)


Out[16]:
{'T-18748192',
 'T-2147481664',
 'T-21474819',
 'T-2147482176',
 'T-2147482432',
 'T-21474825',
 'T-2147482688',
 'T-2147482816',
 'T-2147482944',
 'T-2147483646',
 'T-2147483647',
 'T-2147483648',
 'T-21474872',
 'T1',
 'T11141888',
 'T1132',
 'T113776',
 'T1152',
 'T12',
 'T12582912',
 'T128',
 'T1310',
 'T132',
 'T134217728',
 'T1372',
 'T143',
 'T145',
 'T16',
 'T16384',
 'T16512',
 'T16777216',
 'T16777232',
 'T16777248',
 'T16777472',
 'T16777557',
 'T16779428',
 'T16793941',
 'T178258',
 'T18436',
 'T2',
 'T24',
 'T2516',
 'T25165824',
 'T256',
 'T262144',
 'T262656',
 'T268',
 'T26808',
 'T268435456',
 'T3',
 'T32',
 'T32896',
 'T331648',
 'T33554432',
 'T33554448',
 'T33554944',
 'T36992',
 'T393216',
 'T3942',
 'T4',
 'T41944',
 'T4325376',
 'T43968',
 'T4718592',
 'T48',
 'T48576',
 'T488',
 'T492',
 'T5',
 'T512',
 'T514',
 'T518',
 'T52',
 'T524288',
 'T524544',
 'T544',
 'T55424',
 'T56',
 'T589824',
 'T6',
 'T618624',
 'T63616',
 'T64',
 'T6553',
 'T65536',
 'T678864',
 'T7',
 'T748928',
 'T7808',
 'T786432',
 'T786944',
 'T8',
 'T83888',
 'T8389632',
 'T8651776',
 'T86752',
 'T8768',
 'T8912896',
 'T9',
 'T917',
 'T9174',
 'T9175552',
 'T91764',
 'T96',
 'T96112',
 'T97',
 'T98'}

In [19]:
from  collections import Counter

def count_values(fname):
    cat_counter = Counter()
    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):
        print '*',
        data = pd.DataFrame()
        data = data.append(chunk, ignore_index=True)

        for item in data.itertuples():
            cat_counter.update(list(item[1:]))
    return cat_counter

In [20]:
%time c1 = count_values(train_fname)


* * * * * * * * * * * * * * * * * * * * * * * *Wall time: 21min 24s


In [22]:
%time c2 = count_values(test_fname)


* * * * * * * * * * * * * * * * * * * * * * * *Wall time: 20min 46s


In [35]:
c = c1 + c2
c['T-2147482688']


Out[35]:
724

In [45]:
i = 1
for s in sorted(t1.union(t2), key=len, reverse=True):
    print 's/%s/S%03d/g' % (s, i)
    i += 1


s/T-2147482688/S001/g
s/T-2147483646/S002/g
s/T-2147483647/S003/g
s/T-2147483648/S004/g
s/T-2147482176/S005/g
s/T-2147482944/S006/g
s/T-2147482432/S007/g
s/T-2147482816/S008/g
s/T-2147481664/S009/g
s/T-21474825/S010/g
s/T-18748192/S011/g
s/T134217728/S012/g
s/T-21474819/S013/g
s/T268435456/S014/g
s/T-21474872/S015/g
s/T16777472/S016/g
s/T11141888/S017/g
s/T33554432/S018/g
s/T16777232/S019/g
s/T33554448/S020/g
s/T16793941/S021/g
s/T12582912/S022/g
s/T16777216/S023/g
s/T16777248/S024/g
s/T16779428/S025/g
s/T25165824/S026/g
s/T16777557/S027/g
s/T33554944/S028/g
s/T4718592/S029/g
s/T8651776/S030/g
s/T8912896/S031/g
s/T4325376/S032/g
s/T9175552/S033/g
s/T8389632/S034/g
s/T262656/S035/g
s/T748928/S036/g
s/T618624/S037/g
s/T262144/S038/g
s/T524288/S039/g
s/T331648/S040/g
s/T786432/S041/g
s/T524544/S042/g
s/T113776/S043/g
s/T393216/S044/g
s/T178258/S045/g
s/T786944/S046/g
s/T589824/S047/g
s/T678864/S048/g
s/T63616/S049/g
s/T16384/S050/g
s/T43968/S051/g
s/T96112/S052/g
s/T83888/S053/g
s/T18436/S054/g
s/T36992/S055/g
s/T41944/S056/g
s/T16512/S057/g
s/T32896/S058/g
s/T65536/S059/g
s/T91764/S060/g
s/T26808/S061/g
s/T86752/S062/g
s/T48576/S063/g
s/T55424/S064/g
s/T1152/S065/g
s/T3942/S066/g
s/T1372/S067/g
s/T2516/S068/g
s/T7808/S069/g
s/T1310/S070/g
s/T6553/S071/g
s/T8768/S072/g
s/T9174/S073/g
s/T1132/S074/g
s/T488/S075/g
s/T128/S076/g
s/T145/S077/g
s/T143/S078/g
s/T492/S079/g
s/T256/S080/g
s/T132/S081/g
s/T544/S082/g
s/T518/S083/g
s/T512/S084/g
s/T514/S085/g
s/T917/S086/g
s/T268/S087/g
s/T16/S088/g
s/T12/S089/g
s/T98/S090/g
s/T96/S091/g
s/T97/S092/g
s/T24/S093/g
s/T32/S094/g
s/T48/S095/g
s/T52/S096/g
s/T56/S097/g
s/T64/S098/g
s/T1/S099/g
s/T8/S100/g
s/T9/S101/g
s/T6/S102/g
s/T7/S103/g
s/T4/S104/g
s/T5/S105/g
s/T2/S106/g
s/T3/S107/g

In [46]:
locals()


Out[46]:
{'Counter': collections.Counter,
 'In': ['',
  u'import pandas as pd\nimport numpy as np',
  u'chunksize = 50000\ntrain_fname = "../input/train_categorical.csv"\ntest_fname = "../input/test_categorical.csv"\n\noutput_fname = "../input/train_categorical_250000.out.csv"',
  u"def cat_values(fname):\n    setl = set()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            setl = setl.union(set(item[1:]))\n    print setl",
  u"get_ipython().magic(u'time cat_values(test_fname)')",
  u"t1 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u't1 - t2',
  u't2 - t1',
  u"get_ipython().magic(u'time t1 = cat_values(train_fname)')",
  u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
  u't2 - t1',
  u't1',
  u't2',
  u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
  u't1.union(t2)',
  u"import collections\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
  u"get_ipython().magic(u'time c1 = count_values(train_fname)')",
  u"from  collections import Counter\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
  u"get_ipython().magic(u'time c1 = count_values(train_fname)')",
  u'c1.most_common()',
  u"get_ipython().magic(u'time c2 = count_values(test_fname)')",
  u'c2.most_common()',
  u'c1 + c2',
  u'c1 - c2',
  u'c1 & c2',
  u'c1 | c2',
  u'c = c1 + c2\nc.most_common()',
  u'c = c1 + c2\nlen(c.most_common())',
  u'sorted(t1+t2)',
  u'sorted(t1.union(t2))',
  u'sorted(t1.union(t2), key=str.lower)',
  u'sorted(t1.union(t2), key=len)',
  u'sorted(t1.union(t2), key=len, reverse=True)',
  u"c = c1 + c2\nc['T-2147482688']",
  u'for s in sorted(t1.union(t2), key=len, reverse=True):\n    print s, c[s]',
  u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % c[s]",
  u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % s",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/%00d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%00d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%2d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i++",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i += 1",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%03d/g' % (s, i)\n    i += 1",
  u'locals()'],
 'Out': {7: {'T16779428',
   'T178258',
   'T25165824',
   'T26808',
   'T678864',
   'T786944',
   'T91764',
   'T96112'},
  8: {'T12',
   'T132',
   'T16793941',
   'T262656',
   'T268',
   'T393216',
   'T3942',
   'T4325376',
   'T43968',
   'T488',
   'T518',
   'T544',
   'T7808',
   'T9175552'},
  13: {'T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16793941',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T96',
   'T97',
   'T98'},
  16: {'T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'},
  21: [(nan, 2465567643L),
   ('T1', 66323875),
   ('T3', 793092),
   ('T145', 325373),
   ('T4', 68429),
   ('T2', 38732),
   ('T143', 31950),
   ('T5', 18620),
   ('T8', 5672),
   ('T128', 4881),
   ('T16', 4217),
   ('T48576', 3388),
   ('T524288', 2960),
   ('T512', 2890),
   ('T32', 2876),
   ('T-2147483648', 1971),
   ('T1372', 1922),
   ('T65536', 1632),
   ('T48', 1610),
   ('T16777232', 1601),
   ('T256', 1264),
   ('T262144', 1161),
   ('T16777557', 1101),
   ('T16777248', 1092),
   ('T6', 1022),
   ('T83888', 969),
   ('T64', 646),
   ('T786432', 544),
   ('T6553', 516),
   ('T8389632', 513),
   ('T134217728', 421),
   ('T-2147482816', 385),
   ('T24', 383),
   ('T-2147482432', 375),
   ('T96', 374),
   ('T-2147482688', 364),
   ('T12582912', 307),
   ('T268435456', 298),
   ('T11141888', 272),
   ('T917', 272),
   ('T8912896', 256),
   ('T9174', 240),
   ('T7', 234),
   ('T16777216', 144),
   ('T98', 142),
   ('T618624', 133),
   ('T33554448', 132),
   ('T-21474872', 115),
   ('T2516', 112),
   ('T331648', 104),
   ('T1152', 103),
   ('T52', 91),
   ('T16384', 90),
   ('T41944', 80),
   ('T113776', 80),
   ('T56', 78),
   ('T8651776', 76),
   ('T678864', 66),
   ('T4718592', 64),
   ('T97', 52),
   ('T9', 50),
   ('T18436', 39),
   ('T748928', 38),
   ('T36992', 38),
   ('T32896', 37),
   ('T-2147481664', 34),
   ('T524544', 32),
   ('T786944', 32),
   ('T33554432', 26),
   ('T1310', 26),
   ('T8768', 19),
   ('T26808', 18),
   ('T1132', 16),
   ('T96112', 16),
   ('T86752', 16),
   ('T25165824', 16),
   ('T91764', 16),
   ('T16777472', 13),
   ('T16779428', 13),
   ('T178258', 13),
   ('T33554944', 13),
   ('T-21474825', 12),
   ('T589824', 9),
   ('T514', 9),
   ('T-21474819', 5),
   ('T492', 4),
   ('T-18748192', 3),
   ('T16512', 3),
   ('T63616', 2),
   ('T-2147483647', 2),
   ('T-2147483646', 2),
   ('T-2147482176', 1),
   ('T-2147482944', 1),
   ('T55424', 1)],
  23: [(nan, 2465604793L),
   ('T1', 66293462),
   ('T3', 790068),
   ('T145', 324001),
   ('T4', 68544),
   ('T2', 38809),
   ('T143', 32458),
   ('T5', 18506),
   ('T8', 5696),
   ('T128', 4917),
   ('T16', 4152),
   ('T512', 3128),
   ('T524288', 3040),
   ('T48576', 3011),
   ('T32', 2661),
   ('T-2147483648', 1938),
   ('T1372', 1661),
   ('T16777232', 1646),
   ('T65536', 1621),
   ('T48', 1470),
   ('T262144', 1349),
   ('T256', 1180),
   ('T16777557', 1170),
   ('T83888', 1100),
   ('T6', 1003),
   ('T16777248', 923),
   ('T268435456', 598),
   ('T134217728', 574),
   ('T6553', 532),
   ('T64', 475),
   ('T-2147482816', 403),
   ('T8389632', 361),
   ('T-2147482688', 360),
   ('T96', 340),
   ('T8912896', 336),
   ('T9174', 336),
   ('T-2147482432', 332),
   ('T11141888', 288),
   ('T786432', 288),
   ('T24', 250),
   ('T7', 250),
   ('T12582912', 233),
   ('T917', 208),
   ('T52', 195),
   ('T16777216', 144),
   ('T16384', 135),
   ('T33554448', 130),
   ('T331648', 120),
   ('T618624', 114),
   ('T98', 114),
   ('T113776', 112),
   ('T-21474872', 101),
   ('T1152', 98),
   ('T4718592', 80),
   ('T748928', 76),
   ('T56', 65),
   ('T41944', 48),
   ('T36992', 44),
   ('T9', 44),
   ('T97', 42),
   ('T16777472', 39),
   ('T8651776', 38),
   ('T-2147481664', 37),
   ('T32896', 34),
   ('T2516', 32),
   ('T7808', 32),
   ('T33554944', 26),
   ('T1310', 25),
   ('T33554432', 24),
   ('T3942', 19),
   ('T393216', 19),
   ('T4325376', 19),
   ('T8768', 19),
   ('T262656', 16),
   ('T43968', 16),
   ('T1132', 16),
   ('T524544', 16),
   ('T86752', 16),
   ('T9175552', 16),
   ('T488', 13),
   ('T132', 13),
   ('T544', 13),
   ('T18436', 13),
   ('T16793941', 13),
   ('T-21474825', 11),
   ('T268', 9),
   ('T16512', 6),
   ('T514', 6),
   ('T492', 5),
   ('T-2147482944', 5),
   ('T63616', 4),
   ('T55424', 3),
   ('T589824', 3),
   ('T518', 3),
   ('T-18748192', 2),
   ('T-21474819', 2),
   ('T12', 1),
   ('T-2147483647', 1),
   ('T-2147482176', 1),
   ('T-2147483646', 1)],
  24: Counter({nan: 4931172436L,
           'T-18748192': 5,
           'T-2147481664': 71,
           'T-21474819': 7,
           'T-2147482176': 2,
           'T-2147482432': 707,
           'T-21474825': 23,
           'T-2147482688': 724,
           'T-2147482816': 788,
           'T-2147482944': 6,
           'T-2147483646': 3,
           'T-2147483647': 3,
           'T-2147483648': 3909,
           'T-21474872': 216,
           'T1': 132617337,
           'T11141888': 560,
           'T1132': 32,
           'T113776': 192,
           'T1152': 201,
           'T12': 1,
           'T12582912': 540,
           'T128': 9798,
           'T1310': 51,
           'T132': 13,
           'T134217728': 995,
           'T1372': 3583,
           'T143': 64408,
           'T145': 649374,
           'T16': 8369,
           'T16384': 225,
           'T16512': 9,
           'T16777216': 288,
           'T16777232': 3247,
           'T16777248': 2015,
           'T16777472': 52,
           'T16777557': 2271,
           'T16779428': 13,
           'T16793941': 13,
           'T178258': 13,
           'T18436': 52,
           'T2': 77541,
           'T24': 633,
           'T2516': 144,
           'T25165824': 16,
           'T256': 2444,
           'T262144': 2510,
           'T262656': 16,
           'T268': 9,
           'T26808': 18,
           'T268435456': 896,
           'T3': 1583160,
           'T32': 5537,
           'T32896': 71,
           'T331648': 224,
           'T33554432': 50,
           'T33554448': 262,
           'T33554944': 39,
           'T36992': 82,
           'T393216': 19,
           'T3942': 19,
           'T4': 136973,
           'T41944': 128,
           'T4325376': 19,
           'T43968': 16,
           'T4718592': 144,
           'T48': 3080,
           'T48576': 6399,
           'T488': 13,
           'T492': 9,
           'T5': 37126,
           'T512': 6018,
           'T514': 15,
           'T518': 3,
           'T52': 286,
           'T524288': 6000,
           'T524544': 48,
           'T544': 13,
           'T55424': 4,
           'T56': 143,
           'T589824': 12,
           'T6': 2025,
           'T618624': 247,
           'T63616': 6,
           'T64': 1121,
           'T6553': 1048,
           'T65536': 3253,
           'T678864': 66,
           'T7': 484,
           'T748928': 114,
           'T7808': 32,
           'T786432': 832,
           'T786944': 32,
           'T8': 11368,
           'T83888': 2069,
           'T8389632': 874,
           'T8651776': 114,
           'T86752': 32,
           'T8768': 38,
           'T8912896': 592,
           'T9': 94,
           'T917': 480,
           'T9174': 576,
           'T9175552': 16,
           'T91764': 16,
           'T96': 714,
           'T96112': 16,
           'T97': 94,
           'T98': 256}),
  25: Counter({'T-18748192': 1,
           'T-21474819': 3,
           'T-2147482432': 43,
           'T-21474825': 1,
           'T-2147482688': 4,
           'T-2147483646': 1,
           'T-2147483647': 1,
           'T-2147483648': 33,
           'T-21474872': 14,
           'T1': 30413,
           'T1152': 5,
           'T12582912': 74,
           'T1310': 1,
           'T1372': 261,
           'T145': 1372,
           'T16': 65,
           'T16777248': 169,
           'T16779428': 13,
           'T178258': 13,
           'T18436': 26,
           'T24': 133,
           'T2516': 80,
           'T25165824': 16,
           'T256': 84,
           'T26808': 18,
           'T3': 3024,
           'T32': 215,
           'T32896': 3,
           'T33554432': 2,
           'T33554448': 2,
           'T41944': 32,
           'T48': 140,
           'T48576': 377,
           'T5': 114,
           'T514': 3,
           'T524544': 16,
           'T56': 13,
           'T589824': 6,
           'T6': 19,
           'T618624': 19,
           'T64': 171,
           'T65536': 11,
           'T678864': 66,
           'T786432': 256,
           'T786944': 32,
           'T8389632': 152,
           'T8651776': 38,
           'T9': 6,
           'T917': 64,
           'T91764': 16,
           'T96': 34,
           'T96112': 16,
           'T97': 10,
           'T98': 28}),
  26: Counter({nan: 2465567643L,
           'T-18748192': 2,
           'T-2147481664': 34,
           'T-21474819': 2,
           'T-2147482176': 1,
           'T-2147482432': 332,
           'T-21474825': 11,
           'T-2147482688': 360,
           'T-2147482816': 385,
           'T-2147482944': 1,
           'T-2147483646': 1,
           'T-2147483647': 1,
           'T-2147483648': 1938,
           'T-21474872': 101,
           'T1': 66293462,
           'T11141888': 272,
           'T1132': 16,
           'T113776': 80,
           'T1152': 98,
           'T12582912': 233,
           'T128': 4881,
           'T1310': 25,
           'T134217728': 421,
           'T1372': 1661,
           'T143': 31950,
           'T145': 324001,
           'T16': 4152,
           'T16384': 90,
           'T16512': 3,
           'T16777216': 144,
           'T16777232': 1601,
           'T16777248': 923,
           'T16777472': 13,
           'T16777557': 1101,
           'T18436': 13,
           'T2': 38732,
           'T24': 250,
           'T2516': 32,
           'T256': 1180,
           'T262144': 1161,
           'T268435456': 298,
           'T3': 790068,
           'T32': 2661,
           'T32896': 34,
           'T331648': 104,
           'T33554432': 24,
           'T33554448': 130,
           'T33554944': 13,
           'T36992': 38,
           'T4': 68429,
           'T41944': 48,
           'T4718592': 64,
           'T48': 1470,
           'T48576': 3011,
           'T492': 4,
           'T5': 18506,
           'T512': 2890,
           'T514': 6,
           'T52': 91,
           'T524288': 2960,
           'T524544': 16,
           'T55424': 1,
           'T56': 65,
           'T589824': 3,
           'T6': 1003,
           'T618624': 114,
           'T63616': 2,
           'T64': 475,
           'T6553': 516,
           'T65536': 1621,
           'T7': 234,
           'T748928': 38,
           'T786432': 288,
           'T8': 5672,
           'T83888': 969,
           'T8389632': 361,
           'T8651776': 38,
           'T86752': 16,
           'T8768': 19,
           'T8912896': 256,
           'T9': 44,
           'T917': 208,
           'T9174': 240,
           'T96': 340,
           'T97': 42,
           'T98': 114}),
  27: Counter({nan: 2465604793L,
           'T-18748192': 3,
           'T-2147481664': 37,
           'T-21474819': 5,
           'T-2147482176': 1,
           'T-2147482432': 375,
           'T-21474825': 12,
           'T-2147482688': 364,
           'T-2147482816': 403,
           'T-2147482944': 5,
           'T-2147483646': 2,
           'T-2147483647': 2,
           'T-2147483648': 1971,
           'T-21474872': 115,
           'T1': 66323875,
           'T11141888': 288,
           'T1132': 16,
           'T113776': 112,
           'T1152': 103,
           'T12': 1,
           'T12582912': 307,
           'T128': 4917,
           'T1310': 26,
           'T132': 13,
           'T134217728': 574,
           'T1372': 1922,
           'T143': 32458,
           'T145': 325373,
           'T16': 4217,
           'T16384': 135,
           'T16512': 6,
           'T16777216': 144,
           'T16777232': 1646,
           'T16777248': 1092,
           'T16777472': 39,
           'T16777557': 1170,
           'T16779428': 13,
           'T16793941': 13,
           'T178258': 13,
           'T18436': 39,
           'T2': 38809,
           'T24': 383,
           'T2516': 112,
           'T25165824': 16,
           'T256': 1264,
           'T262144': 1349,
           'T262656': 16,
           'T268': 9,
           'T26808': 18,
           'T268435456': 598,
           'T3': 793092,
           'T32': 2876,
           'T32896': 37,
           'T331648': 120,
           'T33554432': 26,
           'T33554448': 132,
           'T33554944': 26,
           'T36992': 44,
           'T393216': 19,
           'T3942': 19,
           'T4': 68544,
           'T41944': 80,
           'T4325376': 19,
           'T43968': 16,
           'T4718592': 80,
           'T48': 1610,
           'T48576': 3388,
           'T488': 13,
           'T492': 5,
           'T5': 18620,
           'T512': 3128,
           'T514': 9,
           'T518': 3,
           'T52': 195,
           'T524288': 3040,
           'T524544': 32,
           'T544': 13,
           'T55424': 3,
           'T56': 78,
           'T589824': 9,
           'T6': 1022,
           'T618624': 133,
           'T63616': 4,
           'T64': 646,
           'T6553': 532,
           'T65536': 1632,
           'T678864': 66,
           'T7': 250,
           'T748928': 76,
           'T7808': 32,
           'T786432': 544,
           'T786944': 32,
           'T8': 5696,
           'T83888': 1100,
           'T8389632': 513,
           'T8651776': 76,
           'T86752': 16,
           'T8768': 19,
           'T8912896': 336,
           'T9': 50,
           'T917': 272,
           'T9174': 336,
           'T9175552': 16,
           'T91764': 16,
           'T96': 374,
           'T96112': 16,
           'T97': 52,
           'T98': 142}),
  28: [(nan, 4931172436L),
   ('T1', 132617337),
   ('T3', 1583160),
   ('T145', 649374),
   ('T4', 136973),
   ('T2', 77541),
   ('T143', 64408),
   ('T5', 37126),
   ('T8', 11368),
   ('T128', 9798),
   ('T16', 8369),
   ('T48576', 6399),
   ('T512', 6018),
   ('T524288', 6000),
   ('T32', 5537),
   ('T-2147483648', 3909),
   ('T1372', 3583),
   ('T65536', 3253),
   ('T16777232', 3247),
   ('T48', 3080),
   ('T262144', 2510),
   ('T256', 2444),
   ('T16777557', 2271),
   ('T83888', 2069),
   ('T6', 2025),
   ('T16777248', 2015),
   ('T64', 1121),
   ('T6553', 1048),
   ('T134217728', 995),
   ('T268435456', 896),
   ('T8389632', 874),
   ('T786432', 832),
   ('T-2147482816', 788),
   ('T-2147482688', 724),
   ('T96', 714),
   ('T-2147482432', 707),
   ('T24', 633),
   ('T8912896', 592),
   ('T9174', 576),
   ('T11141888', 560),
   ('T12582912', 540),
   ('T7', 484),
   ('T917', 480),
   ('T16777216', 288),
   ('T52', 286),
   ('T33554448', 262),
   ('T98', 256),
   ('T618624', 247),
   ('T16384', 225),
   ('T331648', 224),
   ('T-21474872', 216),
   ('T1152', 201),
   ('T113776', 192),
   ('T2516', 144),
   ('T4718592', 144),
   ('T56', 143),
   ('T41944', 128),
   ('T748928', 114),
   ('T8651776', 114),
   ('T97', 94),
   ('T9', 94),
   ('T36992', 82),
   ('T32896', 71),
   ('T-2147481664', 71),
   ('T678864', 66),
   ('T16777472', 52),
   ('T18436', 52),
   ('T1310', 51),
   ('T33554432', 50),
   ('T524544', 48),
   ('T33554944', 39),
   ('T8768', 38),
   ('T1132', 32),
   ('T7808', 32),
   ('T86752', 32),
   ('T786944', 32),
   ('T-21474825', 23),
   ('T3942', 19),
   ('T393216', 19),
   ('T4325376', 19),
   ('T26808', 18),
   ('T262656', 16),
   ('T43968', 16),
   ('T96112', 16),
   ('T25165824', 16),
   ('T91764', 16),
   ('T9175552', 16),
   ('T514', 15),
   ('T488', 13),
   ('T132', 13),
   ('T544', 13),
   ('T16793941', 13),
   ('T16779428', 13),
   ('T178258', 13),
   ('T589824', 12),
   ('T492', 9),
   ('T16512', 9),
   ('T268', 9),
   ('T-21474819', 7),
   ('T63616', 6),
   ('T-2147482944', 6),
   ('T-18748192', 5),
   ('T55424', 4),
   ('T-2147483647', 3),
   ('T518', 3),
   ('T-2147483646', 3),
   ('T-2147482176', 2),
   ('T12', 1)],
  29: 108,
  31: ['T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'],
  32: ['T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'],
  33: ['T1',
   'T8',
   'T9',
   'T6',
   'T7',
   'T4',
   'T5',
   'T2',
   'T3',
   'T16',
   'T12',
   'T98',
   'T96',
   'T97',
   'T24',
   'T32',
   'T48',
   'T52',
   'T56',
   'T64',
   'T488',
   'T128',
   'T145',
   'T143',
   'T492',
   'T256',
   'T132',
   'T544',
   'T518',
   'T512',
   'T514',
   'T917',
   'T268',
   'T1152',
   'T3942',
   'T1372',
   'T2516',
   'T7808',
   'T1310',
   'T6553',
   'T8768',
   'T9174',
   'T1132',
   'T63616',
   'T16384',
   'T43968',
   'T96112',
   'T83888',
   'T18436',
   'T36992',
   'T41944',
   'T16512',
   'T32896',
   'T65536',
   'T91764',
   'T26808',
   'T86752',
   'T48576',
   'T55424',
   'T262656',
   'T748928',
   'T618624',
   'T262144',
   'T524288',
   'T331648',
   'T786432',
   'T524544',
   'T113776',
   'T393216',
   'T178258',
   'T786944',
   'T589824',
   'T678864',
   'T4718592',
   'T8651776',
   'T8912896',
   'T4325376',
   'T9175552',
   'T8389632',
   'T16777472',
   'T11141888',
   'T33554432',
   'T16777232',
   'T33554448',
   'T16793941',
   'T12582912',
   'T16777216',
   'T16777248',
   'T16779428',
   'T25165824',
   'T16777557',
   'T33554944',
   'T-21474825',
   'T-18748192',
   'T134217728',
   'T-21474819',
   'T268435456',
   'T-21474872',
   'T-2147482688',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-2147482176',
   'T-2147482944',
   'T-2147482432',
   'T-2147482816',
   'T-2147481664'],
  34: ['T-2147482688',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-2147482176',
   'T-2147482944',
   'T-2147482432',
   'T-2147482816',
   'T-2147481664',
   'T-21474825',
   'T-18748192',
   'T134217728',
   'T-21474819',
   'T268435456',
   'T-21474872',
   'T16777472',
   'T11141888',
   'T33554432',
   'T16777232',
   'T33554448',
   'T16793941',
   'T12582912',
   'T16777216',
   'T16777248',
   'T16779428',
   'T25165824',
   'T16777557',
   'T33554944',
   'T4718592',
   'T8651776',
   'T8912896',
   'T4325376',
   'T9175552',
   'T8389632',
   'T262656',
   'T748928',
   'T618624',
   'T262144',
   'T524288',
   'T331648',
   'T786432',
   'T524544',
   'T113776',
   'T393216',
   'T178258',
   'T786944',
   'T589824',
   'T678864',
   'T63616',
   'T16384',
   'T43968',
   'T96112',
   'T83888',
   'T18436',
   'T36992',
   'T41944',
   'T16512',
   'T32896',
   'T65536',
   'T91764',
   'T26808',
   'T86752',
   'T48576',
   'T55424',
   'T1152',
   'T3942',
   'T1372',
   'T2516',
   'T7808',
   'T1310',
   'T6553',
   'T8768',
   'T9174',
   'T1132',
   'T488',
   'T128',
   'T145',
   'T143',
   'T492',
   'T256',
   'T132',
   'T544',
   'T518',
   'T512',
   'T514',
   'T917',
   'T268',
   'T16',
   'T12',
   'T98',
   'T96',
   'T97',
   'T24',
   'T32',
   'T48',
   'T52',
   'T56',
   'T64',
   'T1',
   'T8',
   'T9',
   'T6',
   'T7',
   'T4',
   'T5',
   'T2',
   'T3'],
  35: 724},
 '_': 724,
 '_13': {'T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12',
  'T12582912',
  'T128',
  'T1310',
  'T132',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16793941',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T256',
  'T262144',
  'T262656',
  'T268',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T393216',
  'T3942',
  'T4',
  'T41944',
  'T4325376',
  'T43968',
  'T4718592',
  'T48',
  'T48576',
  'T488',
  'T492',
  'T5',
  'T512',
  'T514',
  'T518',
  'T52',
  'T524288',
  'T524544',
  'T544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T7',
  'T748928',
  'T7808',
  'T786432',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T9175552',
  'T96',
  'T97',
  'T98'},
 '_16': {'T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12',
  'T12582912',
  'T128',
  'T1310',
  'T132',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16779428',
  'T16793941',
  'T178258',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T25165824',
  'T256',
  'T262144',
  'T262656',
  'T268',
  'T26808',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T393216',
  'T3942',
  'T4',
  'T41944',
  'T4325376',
  'T43968',
  'T4718592',
  'T48',
  'T48576',
  'T488',
  'T492',
  'T5',
  'T512',
  'T514',
  'T518',
  'T52',
  'T524288',
  'T524544',
  'T544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T678864',
  'T7',
  'T748928',
  'T7808',
  'T786432',
  'T786944',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T9175552',
  'T91764',
  'T96',
  'T96112',
  'T97',
  'T98'},
 '_21': [(nan, 2465567643L),
  ('T1', 66323875),
  ('T3', 793092),
  ('T145', 325373),
  ('T4', 68429),
  ('T2', 38732),
  ('T143', 31950),
  ('T5', 18620),
  ('T8', 5672),
  ('T128', 4881),
  ('T16', 4217),
  ('T48576', 3388),
  ('T524288', 2960),
  ('T512', 2890),
  ('T32', 2876),
  ('T-2147483648', 1971),
  ('T1372', 1922),
  ('T65536', 1632),
  ('T48', 1610),
  ('T16777232', 1601),
  ('T256', 1264),
  ('T262144', 1161),
  ('T16777557', 1101),
  ('T16777248', 1092),
  ('T6', 1022),
  ('T83888', 969),
  ('T64', 646),
  ('T786432', 544),
  ('T6553', 516),
  ('T8389632', 513),
  ('T134217728', 421),
  ('T-2147482816', 385),
  ('T24', 383),
  ('T-2147482432', 375),
  ('T96', 374),
  ('T-2147482688', 364),
  ('T12582912', 307),
  ('T268435456', 298),
  ('T11141888', 272),
  ('T917', 272),
  ('T8912896', 256),
  ('T9174', 240),
  ('T7', 234),
  ('T16777216', 144),
  ('T98', 142),
  ('T618624', 133),
  ('T33554448', 132),
  ('T-21474872', 115),
  ('T2516', 112),
  ('T331648', 104),
  ('T1152', 103),
  ('T52', 91),
  ('T16384', 90),
  ('T41944', 80),
  ('T113776', 80),
  ('T56', 78),
  ('T8651776', 76),
  ('T678864', 66),
  ('T4718592', 64),
  ('T97', 52),
  ('T9', 50),
  ('T18436', 39),
  ('T748928', 38),
  ('T36992', 38),
  ('T32896', 37),
  ('T-2147481664', 34),
  ('T524544', 32),
  ('T786944', 32),
  ('T33554432', 26),
  ('T1310', 26),
  ('T8768', 19),
  ('T26808', 18),
  ('T1132', 16),
  ('T96112', 16),
  ('T86752', 16),
  ('T25165824', 16),
  ('T91764', 16),
  ('T16777472', 13),
  ('T16779428', 13),
  ('T178258', 13),
  ('T33554944', 13),
  ('T-21474825', 12),
  ('T589824', 9),
  ('T514', 9),
  ('T-21474819', 5),
  ('T492', 4),
  ('T-18748192', 3),
  ('T16512', 3),
  ('T63616', 2),
  ('T-2147483647', 2),
  ('T-2147483646', 2),
  ('T-2147482176', 1),
  ('T-2147482944', 1),
  ('T55424', 1)],
 '_23': [(nan, 2465604793L),
  ('T1', 66293462),
  ('T3', 790068),
  ('T145', 324001),
  ('T4', 68544),
  ('T2', 38809),
  ('T143', 32458),
  ('T5', 18506),
  ('T8', 5696),
  ('T128', 4917),
  ('T16', 4152),
  ('T512', 3128),
  ('T524288', 3040),
  ('T48576', 3011),
  ('T32', 2661),
  ('T-2147483648', 1938),
  ('T1372', 1661),
  ('T16777232', 1646),
  ('T65536', 1621),
  ('T48', 1470),
  ('T262144', 1349),
  ('T256', 1180),
  ('T16777557', 1170),
  ('T83888', 1100),
  ('T6', 1003),
  ('T16777248', 923),
  ('T268435456', 598),
  ('T134217728', 574),
  ('T6553', 532),
  ('T64', 475),
  ('T-2147482816', 403),
  ('T8389632', 361),
  ('T-2147482688', 360),
  ('T96', 340),
  ('T8912896', 336),
  ('T9174', 336),
  ('T-2147482432', 332),
  ('T11141888', 288),
  ('T786432', 288),
  ('T24', 250),
  ('T7', 250),
  ('T12582912', 233),
  ('T917', 208),
  ('T52', 195),
  ('T16777216', 144),
  ('T16384', 135),
  ('T33554448', 130),
  ('T331648', 120),
  ('T618624', 114),
  ('T98', 114),
  ('T113776', 112),
  ('T-21474872', 101),
  ('T1152', 98),
  ('T4718592', 80),
  ('T748928', 76),
  ('T56', 65),
  ('T41944', 48),
  ('T36992', 44),
  ('T9', 44),
  ('T97', 42),
  ('T16777472', 39),
  ('T8651776', 38),
  ('T-2147481664', 37),
  ('T32896', 34),
  ('T2516', 32),
  ('T7808', 32),
  ('T33554944', 26),
  ('T1310', 25),
  ('T33554432', 24),
  ('T3942', 19),
  ('T393216', 19),
  ('T4325376', 19),
  ('T8768', 19),
  ('T262656', 16),
  ('T43968', 16),
  ('T1132', 16),
  ('T524544', 16),
  ('T86752', 16),
  ('T9175552', 16),
  ('T488', 13),
  ('T132', 13),
  ('T544', 13),
  ('T18436', 13),
  ('T16793941', 13),
  ('T-21474825', 11),
  ('T268', 9),
  ('T16512', 6),
  ('T514', 6),
  ('T492', 5),
  ('T-2147482944', 5),
  ('T63616', 4),
  ('T55424', 3),
  ('T589824', 3),
  ('T518', 3),
  ('T-18748192', 2),
  ('T-21474819', 2),
  ('T12', 1),
  ('T-2147483647', 1),
  ('T-2147482176', 1),
  ('T-2147483646', 1)],
 '_24': Counter({nan: 4931172436L,
          'T-18748192': 5,
          'T-2147481664': 71,
          'T-21474819': 7,
          'T-2147482176': 2,
          'T-2147482432': 707,
          'T-21474825': 23,
          'T-2147482688': 724,
          'T-2147482816': 788,
          'T-2147482944': 6,
          'T-2147483646': 3,
          'T-2147483647': 3,
          'T-2147483648': 3909,
          'T-21474872': 216,
          'T1': 132617337,
          'T11141888': 560,
          'T1132': 32,
          'T113776': 192,
          'T1152': 201,
          'T12': 1,
          'T12582912': 540,
          'T128': 9798,
          'T1310': 51,
          'T132': 13,
          'T134217728': 995,
          'T1372': 3583,
          'T143': 64408,
          'T145': 649374,
          'T16': 8369,
          'T16384': 225,
          'T16512': 9,
          'T16777216': 288,
          'T16777232': 3247,
          'T16777248': 2015,
          'T16777472': 52,
          'T16777557': 2271,
          'T16779428': 13,
          'T16793941': 13,
          'T178258': 13,
          'T18436': 52,
          'T2': 77541,
          'T24': 633,
          'T2516': 144,
          'T25165824': 16,
          'T256': 2444,
          'T262144': 2510,
          'T262656': 16,
          'T268': 9,
          'T26808': 18,
          'T268435456': 896,
          'T3': 1583160,
          'T32': 5537,
          'T32896': 71,
          'T331648': 224,
          'T33554432': 50,
          'T33554448': 262,
          'T33554944': 39,
          'T36992': 82,
          'T393216': 19,
          'T3942': 19,
          'T4': 136973,
          'T41944': 128,
          'T4325376': 19,
          'T43968': 16,
          'T4718592': 144,
          'T48': 3080,
          'T48576': 6399,
          'T488': 13,
          'T492': 9,
          'T5': 37126,
          'T512': 6018,
          'T514': 15,
          'T518': 3,
          'T52': 286,
          'T524288': 6000,
          'T524544': 48,
          'T544': 13,
          'T55424': 4,
          'T56': 143,
          'T589824': 12,
          'T6': 2025,
          'T618624': 247,
          'T63616': 6,
          'T64': 1121,
          'T6553': 1048,
          'T65536': 3253,
          'T678864': 66,
          'T7': 484,
          'T748928': 114,
          'T7808': 32,
          'T786432': 832,
          'T786944': 32,
          'T8': 11368,
          'T83888': 2069,
          'T8389632': 874,
          'T8651776': 114,
          'T86752': 32,
          'T8768': 38,
          'T8912896': 592,
          'T9': 94,
          'T917': 480,
          'T9174': 576,
          'T9175552': 16,
          'T91764': 16,
          'T96': 714,
          'T96112': 16,
          'T97': 94,
          'T98': 256}),
 '_25': Counter({'T-18748192': 1,
          'T-21474819': 3,
          'T-2147482432': 43,
          'T-21474825': 1,
          'T-2147482688': 4,
          'T-2147483646': 1,
          'T-2147483647': 1,
          'T-2147483648': 33,
          'T-21474872': 14,
          'T1': 30413,
          'T1152': 5,
          'T12582912': 74,
          'T1310': 1,
          'T1372': 261,
          'T145': 1372,
          'T16': 65,
          'T16777248': 169,
          'T16779428': 13,
          'T178258': 13,
          'T18436': 26,
          'T24': 133,
          'T2516': 80,
          'T25165824': 16,
          'T256': 84,
          'T26808': 18,
          'T3': 3024,
          'T32': 215,
          'T32896': 3,
          'T33554432': 2,
          'T33554448': 2,
          'T41944': 32,
          'T48': 140,
          'T48576': 377,
          'T5': 114,
          'T514': 3,
          'T524544': 16,
          'T56': 13,
          'T589824': 6,
          'T6': 19,
          'T618624': 19,
          'T64': 171,
          'T65536': 11,
          'T678864': 66,
          'T786432': 256,
          'T786944': 32,
          'T8389632': 152,
          'T8651776': 38,
          'T9': 6,
          'T917': 64,
          'T91764': 16,
          'T96': 34,
          'T96112': 16,
          'T97': 10,
          'T98': 28}),
 '_26': Counter({nan: 2465567643L,
          'T-18748192': 2,
          'T-2147481664': 34,
          'T-21474819': 2,
          'T-2147482176': 1,
          'T-2147482432': 332,
          'T-21474825': 11,
          'T-2147482688': 360,
          'T-2147482816': 385,
          'T-2147482944': 1,
          'T-2147483646': 1,
          'T-2147483647': 1,
          'T-2147483648': 1938,
          'T-21474872': 101,
          'T1': 66293462,
          'T11141888': 272,
          'T1132': 16,
          'T113776': 80,
          'T1152': 98,
          'T12582912': 233,
          'T128': 4881,
          'T1310': 25,
          'T134217728': 421,
          'T1372': 1661,
          'T143': 31950,
          'T145': 324001,
          'T16': 4152,
          'T16384': 90,
          'T16512': 3,
          'T16777216': 144,
          'T16777232': 1601,
          'T16777248': 923,
          'T16777472': 13,
          'T16777557': 1101,
          'T18436': 13,
          'T2': 38732,
          'T24': 250,
          'T2516': 32,
          'T256': 1180,
          'T262144': 1161,
          'T268435456': 298,
          'T3': 790068,
          'T32': 2661,
          'T32896': 34,
          'T331648': 104,
          'T33554432': 24,
          'T33554448': 130,
          'T33554944': 13,
          'T36992': 38,
          'T4': 68429,
          'T41944': 48,
          'T4718592': 64,
          'T48': 1470,
          'T48576': 3011,
          'T492': 4,
          'T5': 18506,
          'T512': 2890,
          'T514': 6,
          'T52': 91,
          'T524288': 2960,
          'T524544': 16,
          'T55424': 1,
          'T56': 65,
          'T589824': 3,
          'T6': 1003,
          'T618624': 114,
          'T63616': 2,
          'T64': 475,
          'T6553': 516,
          'T65536': 1621,
          'T7': 234,
          'T748928': 38,
          'T786432': 288,
          'T8': 5672,
          'T83888': 969,
          'T8389632': 361,
          'T8651776': 38,
          'T86752': 16,
          'T8768': 19,
          'T8912896': 256,
          'T9': 44,
          'T917': 208,
          'T9174': 240,
          'T96': 340,
          'T97': 42,
          'T98': 114}),
 '_27': Counter({nan: 2465604793L,
          'T-18748192': 3,
          'T-2147481664': 37,
          'T-21474819': 5,
          'T-2147482176': 1,
          'T-2147482432': 375,
          'T-21474825': 12,
          'T-2147482688': 364,
          'T-2147482816': 403,
          'T-2147482944': 5,
          'T-2147483646': 2,
          'T-2147483647': 2,
          'T-2147483648': 1971,
          'T-21474872': 115,
          'T1': 66323875,
          'T11141888': 288,
          'T1132': 16,
          'T113776': 112,
          'T1152': 103,
          'T12': 1,
          'T12582912': 307,
          'T128': 4917,
          'T1310': 26,
          'T132': 13,
          'T134217728': 574,
          'T1372': 1922,
          'T143': 32458,
          'T145': 325373,
          'T16': 4217,
          'T16384': 135,
          'T16512': 6,
          'T16777216': 144,
          'T16777232': 1646,
          'T16777248': 1092,
          'T16777472': 39,
          'T16777557': 1170,
          'T16779428': 13,
          'T16793941': 13,
          'T178258': 13,
          'T18436': 39,
          'T2': 38809,
          'T24': 383,
          'T2516': 112,
          'T25165824': 16,
          'T256': 1264,
          'T262144': 1349,
          'T262656': 16,
          'T268': 9,
          'T26808': 18,
          'T268435456': 598,
          'T3': 793092,
          'T32': 2876,
          'T32896': 37,
          'T331648': 120,
          'T33554432': 26,
          'T33554448': 132,
          'T33554944': 26,
          'T36992': 44,
          'T393216': 19,
          'T3942': 19,
          'T4': 68544,
          'T41944': 80,
          'T4325376': 19,
          'T43968': 16,
          'T4718592': 80,
          'T48': 1610,
          'T48576': 3388,
          'T488': 13,
          'T492': 5,
          'T5': 18620,
          'T512': 3128,
          'T514': 9,
          'T518': 3,
          'T52': 195,
          'T524288': 3040,
          'T524544': 32,
          'T544': 13,
          'T55424': 3,
          'T56': 78,
          'T589824': 9,
          'T6': 1022,
          'T618624': 133,
          'T63616': 4,
          'T64': 646,
          'T6553': 532,
          'T65536': 1632,
          'T678864': 66,
          'T7': 250,
          'T748928': 76,
          'T7808': 32,
          'T786432': 544,
          'T786944': 32,
          'T8': 5696,
          'T83888': 1100,
          'T8389632': 513,
          'T8651776': 76,
          'T86752': 16,
          'T8768': 19,
          'T8912896': 336,
          'T9': 50,
          'T917': 272,
          'T9174': 336,
          'T9175552': 16,
          'T91764': 16,
          'T96': 374,
          'T96112': 16,
          'T97': 52,
          'T98': 142}),
 '_28': [(nan, 4931172436L),
  ('T1', 132617337),
  ('T3', 1583160),
  ('T145', 649374),
  ('T4', 136973),
  ('T2', 77541),
  ('T143', 64408),
  ('T5', 37126),
  ('T8', 11368),
  ('T128', 9798),
  ('T16', 8369),
  ('T48576', 6399),
  ('T512', 6018),
  ('T524288', 6000),
  ('T32', 5537),
  ('T-2147483648', 3909),
  ('T1372', 3583),
  ('T65536', 3253),
  ('T16777232', 3247),
  ('T48', 3080),
  ('T262144', 2510),
  ('T256', 2444),
  ('T16777557', 2271),
  ('T83888', 2069),
  ('T6', 2025),
  ('T16777248', 2015),
  ('T64', 1121),
  ('T6553', 1048),
  ('T134217728', 995),
  ('T268435456', 896),
  ('T8389632', 874),
  ('T786432', 832),
  ('T-2147482816', 788),
  ('T-2147482688', 724),
  ('T96', 714),
  ('T-2147482432', 707),
  ('T24', 633),
  ('T8912896', 592),
  ('T9174', 576),
  ('T11141888', 560),
  ('T12582912', 540),
  ('T7', 484),
  ('T917', 480),
  ('T16777216', 288),
  ('T52', 286),
  ('T33554448', 262),
  ('T98', 256),
  ('T618624', 247),
  ('T16384', 225),
  ('T331648', 224),
  ('T-21474872', 216),
  ('T1152', 201),
  ('T113776', 192),
  ('T2516', 144),
  ('T4718592', 144),
  ('T56', 143),
  ('T41944', 128),
  ('T748928', 114),
  ('T8651776', 114),
  ('T97', 94),
  ('T9', 94),
  ('T36992', 82),
  ('T32896', 71),
  ('T-2147481664', 71),
  ('T678864', 66),
  ('T16777472', 52),
  ('T18436', 52),
  ('T1310', 51),
  ('T33554432', 50),
  ('T524544', 48),
  ('T33554944', 39),
  ('T8768', 38),
  ('T1132', 32),
  ('T7808', 32),
  ('T86752', 32),
  ('T786944', 32),
  ('T-21474825', 23),
  ('T3942', 19),
  ('T393216', 19),
  ('T4325376', 19),
  ('T26808', 18),
  ('T262656', 16),
  ('T43968', 16),
  ('T96112', 16),
  ('T25165824', 16),
  ('T91764', 16),
  ('T9175552', 16),
  ('T514', 15),
  ('T488', 13),
  ('T132', 13),
  ('T544', 13),
  ('T16793941', 13),
  ('T16779428', 13),
  ('T178258', 13),
  ('T589824', 12),
  ('T492', 9),
  ('T16512', 9),
  ('T268', 9),
  ('T-21474819', 7),
  ('T63616', 6),
  ('T-2147482944', 6),
  ('T-18748192', 5),
  ('T55424', 4),
  ('T-2147483647', 3),
  ('T518', 3),
  ('T-2147483646', 3),
  ('T-2147482176', 2),
  ('T12', 1)],
 '_29': 108,
 '_31': ['T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12',
  'T12582912',
  'T128',
  'T1310',
  'T132',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16779428',
  'T16793941',
  'T178258',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T25165824',
  'T256',
  'T262144',
  'T262656',
  'T268',
  'T26808',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T393216',
  'T3942',
  'T4',
  'T41944',
  'T4325376',
  'T43968',
  'T4718592',
  'T48',
  'T48576',
  'T488',
  'T492',
  'T5',
  'T512',
  'T514',
  'T518',
  'T52',
  'T524288',
  'T524544',
  'T544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T678864',
  'T7',
  'T748928',
  'T7808',
  'T786432',
  'T786944',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T9175552',
  'T91764',
  'T96',
  'T96112',
  'T97',
  'T98'],
 '_32': ['T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12',
  'T12582912',
  'T128',
  'T1310',
  'T132',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16779428',
  'T16793941',
  'T178258',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T25165824',
  'T256',
  'T262144',
  'T262656',
  'T268',
  'T26808',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T393216',
  'T3942',
  'T4',
  'T41944',
  'T4325376',
  'T43968',
  'T4718592',
  'T48',
  'T48576',
  'T488',
  'T492',
  'T5',
  'T512',
  'T514',
  'T518',
  'T52',
  'T524288',
  'T524544',
  'T544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T678864',
  'T7',
  'T748928',
  'T7808',
  'T786432',
  'T786944',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T9175552',
  'T91764',
  'T96',
  'T96112',
  'T97',
  'T98'],
 '_33': ['T1',
  'T8',
  'T9',
  'T6',
  'T7',
  'T4',
  'T5',
  'T2',
  'T3',
  'T16',
  'T12',
  'T98',
  'T96',
  'T97',
  'T24',
  'T32',
  'T48',
  'T52',
  'T56',
  'T64',
  'T488',
  'T128',
  'T145',
  'T143',
  'T492',
  'T256',
  'T132',
  'T544',
  'T518',
  'T512',
  'T514',
  'T917',
  'T268',
  'T1152',
  'T3942',
  'T1372',
  'T2516',
  'T7808',
  'T1310',
  'T6553',
  'T8768',
  'T9174',
  'T1132',
  'T63616',
  'T16384',
  'T43968',
  'T96112',
  'T83888',
  'T18436',
  'T36992',
  'T41944',
  'T16512',
  'T32896',
  'T65536',
  'T91764',
  'T26808',
  'T86752',
  'T48576',
  'T55424',
  'T262656',
  'T748928',
  'T618624',
  'T262144',
  'T524288',
  'T331648',
  'T786432',
  'T524544',
  'T113776',
  'T393216',
  'T178258',
  'T786944',
  'T589824',
  'T678864',
  'T4718592',
  'T8651776',
  'T8912896',
  'T4325376',
  'T9175552',
  'T8389632',
  'T16777472',
  'T11141888',
  'T33554432',
  'T16777232',
  'T33554448',
  'T16793941',
  'T12582912',
  'T16777216',
  'T16777248',
  'T16779428',
  'T25165824',
  'T16777557',
  'T33554944',
  'T-21474825',
  'T-18748192',
  'T134217728',
  'T-21474819',
  'T268435456',
  'T-21474872',
  'T-2147482688',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-2147482176',
  'T-2147482944',
  'T-2147482432',
  'T-2147482816',
  'T-2147481664'],
 '_34': ['T-2147482688',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-2147482176',
  'T-2147482944',
  'T-2147482432',
  'T-2147482816',
  'T-2147481664',
  'T-21474825',
  'T-18748192',
  'T134217728',
  'T-21474819',
  'T268435456',
  'T-21474872',
  'T16777472',
  'T11141888',
  'T33554432',
  'T16777232',
  'T33554448',
  'T16793941',
  'T12582912',
  'T16777216',
  'T16777248',
  'T16779428',
  'T25165824',
  'T16777557',
  'T33554944',
  'T4718592',
  'T8651776',
  'T8912896',
  'T4325376',
  'T9175552',
  'T8389632',
  'T262656',
  'T748928',
  'T618624',
  'T262144',
  'T524288',
  'T331648',
  'T786432',
  'T524544',
  'T113776',
  'T393216',
  'T178258',
  'T786944',
  'T589824',
  'T678864',
  'T63616',
  'T16384',
  'T43968',
  'T96112',
  'T83888',
  'T18436',
  'T36992',
  'T41944',
  'T16512',
  'T32896',
  'T65536',
  'T91764',
  'T26808',
  'T86752',
  'T48576',
  'T55424',
  'T1152',
  'T3942',
  'T1372',
  'T2516',
  'T7808',
  'T1310',
  'T6553',
  'T8768',
  'T9174',
  'T1132',
  'T488',
  'T128',
  'T145',
  'T143',
  'T492',
  'T256',
  'T132',
  'T544',
  'T518',
  'T512',
  'T514',
  'T917',
  'T268',
  'T16',
  'T12',
  'T98',
  'T96',
  'T97',
  'T24',
  'T32',
  'T48',
  'T52',
  'T56',
  'T64',
  'T1',
  'T8',
  'T9',
  'T6',
  'T7',
  'T4',
  'T5',
  'T2',
  'T3'],
 '_35': 724,
 '_7': {'T16779428',
  'T178258',
  'T25165824',
  'T26808',
  'T678864',
  'T786944',
  'T91764',
  'T96112'},
 '_8': {'T12',
  'T132',
  'T16793941',
  'T262656',
  'T268',
  'T393216',
  'T3942',
  'T4325376',
  'T43968',
  'T488',
  'T518',
  'T544',
  'T7808',
  'T9175552'},
 '__': ['T-2147482688',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-2147482176',
  'T-2147482944',
  'T-2147482432',
  'T-2147482816',
  'T-2147481664',
  'T-21474825',
  'T-18748192',
  'T134217728',
  'T-21474819',
  'T268435456',
  'T-21474872',
  'T16777472',
  'T11141888',
  'T33554432',
  'T16777232',
  'T33554448',
  'T16793941',
  'T12582912',
  'T16777216',
  'T16777248',
  'T16779428',
  'T25165824',
  'T16777557',
  'T33554944',
  'T4718592',
  'T8651776',
  'T8912896',
  'T4325376',
  'T9175552',
  'T8389632',
  'T262656',
  'T748928',
  'T618624',
  'T262144',
  'T524288',
  'T331648',
  'T786432',
  'T524544',
  'T113776',
  'T393216',
  'T178258',
  'T786944',
  'T589824',
  'T678864',
  'T63616',
  'T16384',
  'T43968',
  'T96112',
  'T83888',
  'T18436',
  'T36992',
  'T41944',
  'T16512',
  'T32896',
  'T65536',
  'T91764',
  'T26808',
  'T86752',
  'T48576',
  'T55424',
  'T1152',
  'T3942',
  'T1372',
  'T2516',
  'T7808',
  'T1310',
  'T6553',
  'T8768',
  'T9174',
  'T1132',
  'T488',
  'T128',
  'T145',
  'T143',
  'T492',
  'T256',
  'T132',
  'T544',
  'T518',
  'T512',
  'T514',
  'T917',
  'T268',
  'T16',
  'T12',
  'T98',
  'T96',
  'T97',
  'T24',
  'T32',
  'T48',
  'T52',
  'T56',
  'T64',
  'T1',
  'T8',
  'T9',
  'T6',
  'T7',
  'T4',
  'T5',
  'T2',
  'T3'],
 '___': ['T1',
  'T8',
  'T9',
  'T6',
  'T7',
  'T4',
  'T5',
  'T2',
  'T3',
  'T16',
  'T12',
  'T98',
  'T96',
  'T97',
  'T24',
  'T32',
  'T48',
  'T52',
  'T56',
  'T64',
  'T488',
  'T128',
  'T145',
  'T143',
  'T492',
  'T256',
  'T132',
  'T544',
  'T518',
  'T512',
  'T514',
  'T917',
  'T268',
  'T1152',
  'T3942',
  'T1372',
  'T2516',
  'T7808',
  'T1310',
  'T6553',
  'T8768',
  'T9174',
  'T1132',
  'T63616',
  'T16384',
  'T43968',
  'T96112',
  'T83888',
  'T18436',
  'T36992',
  'T41944',
  'T16512',
  'T32896',
  'T65536',
  'T91764',
  'T26808',
  'T86752',
  'T48576',
  'T55424',
  'T262656',
  'T748928',
  'T618624',
  'T262144',
  'T524288',
  'T331648',
  'T786432',
  'T524544',
  'T113776',
  'T393216',
  'T178258',
  'T786944',
  'T589824',
  'T678864',
  'T4718592',
  'T8651776',
  'T8912896',
  'T4325376',
  'T9175552',
  'T8389632',
  'T16777472',
  'T11141888',
  'T33554432',
  'T16777232',
  'T33554448',
  'T16793941',
  'T12582912',
  'T16777216',
  'T16777248',
  'T16779428',
  'T25165824',
  'T16777557',
  'T33554944',
  'T-21474825',
  'T-18748192',
  'T134217728',
  'T-21474819',
  'T268435456',
  'T-21474872',
  'T-2147482688',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-2147482176',
  'T-2147482944',
  'T-2147482432',
  'T-2147482816',
  'T-2147481664'],
 '__builtin__': <module '__builtin__' (built-in)>,
 '__builtins__': <module '__builtin__' (built-in)>,
 '__doc__': 'Automatically created module for IPython interactive environment',
 '__name__': '__main__',
 '__package__': None,
 '_dh': [u'D:\\Kaggle_ws\\Bosch\\src'],
 '_i': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%03d/g' % (s, i)\n    i += 1",
 '_i1': u'import pandas as pd\nimport numpy as np',
 '_i10': u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
 '_i11': u't2 - t1',
 '_i12': u't1',
 '_i13': u't2',
 '_i14': u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
 '_i15': u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
 '_i16': u't1.union(t2)',
 '_i17': u"import collections\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
 '_i18': u'%time c1 = count_values(train_fname)',
 '_i19': u"from  collections import Counter\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
 '_i2': u'chunksize = 50000\ntrain_fname = "../input/train_categorical.csv"\ntest_fname = "../input/test_categorical.csv"\n\noutput_fname = "../input/train_categorical_250000.out.csv"',
 '_i20': u'%time c1 = count_values(train_fname)',
 '_i21': u'c1.most_common()',
 '_i22': u'%time c2 = count_values(test_fname)',
 '_i23': u'c2.most_common()',
 '_i24': u'c1 + c2',
 '_i25': u'c1 - c2',
 '_i26': u'c1 & c2',
 '_i27': u'c1 | c2',
 '_i28': u'c = c1 + c2\nc.most_common()',
 '_i29': u'c = c1 + c2\nlen(c.most_common())',
 '_i3': u"def cat_values(fname):\n    setl = set()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            setl = setl.union(set(item[1:]))\n    print setl",
 '_i30': u'sorted(t1+t2)',
 '_i31': u'sorted(t1.union(t2))',
 '_i32': u'sorted(t1.union(t2), key=str.lower)',
 '_i33': u'sorted(t1.union(t2), key=len)',
 '_i34': u'sorted(t1.union(t2), key=len, reverse=True)',
 '_i35': u"c = c1 + c2\nc['T-2147482688']",
 '_i36': u'for s in sorted(t1.union(t2), key=len, reverse=True):\n    print s, c[s]',
 '_i37': u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % c[s]",
 '_i38': u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % s",
 '_i39': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/%00d/g' % (s, i)",
 '_i4': u'%time cat_values(test_fname)',
 '_i40': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%00d/g' % (s, i)",
 '_i41': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%2d/g' % (s, i)",
 '_i42': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)",
 '_i43': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i++",
 '_i44': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i += 1",
 '_i45': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%03d/g' % (s, i)\n    i += 1",
 '_i46': u'locals()',
 '_i5': u"t1 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
 '_i6': u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
 '_i7': u't1 - t2',
 '_i8': u't2 - t1',
 '_i9': u'%time t1 = cat_values(train_fname)',
 '_ih': ['',
  u'import pandas as pd\nimport numpy as np',
  u'chunksize = 50000\ntrain_fname = "../input/train_categorical.csv"\ntest_fname = "../input/test_categorical.csv"\n\noutput_fname = "../input/train_categorical_250000.out.csv"',
  u"def cat_values(fname):\n    setl = set()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            setl = setl.union(set(item[1:]))\n    print setl",
  u"get_ipython().magic(u'time cat_values(test_fname)')",
  u"t1 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set([nan, 'T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u't1 - t2',
  u't2 - t1',
  u"get_ipython().magic(u'time t1 = cat_values(train_fname)')",
  u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
  u't2 - t1',
  u't1',
  u't2',
  u"t1 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T618624', 'T6553', 'T-2147482432', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T262144', 'T128', 'T512', 'T16777216', 'T589824', 'T514', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T86752', 'T8912896', 'T256', 'T-21474872', 'T32896', 'T16779428', 'T2516', 'T-2147482688', 'T25165824', 'T91764', 'T917', 'T331648', 'T16', 'T11141888', 'T8389632', 'T786432', 'T178258', 'T26808', 'T1132', 'T-2147483647', 'T786944', 'T-2147483648', 'T56', 'T145', 'T98', 'T7', 'T96', 'T97', 'T16777557', 'T33554432', 'T268435456', 'T8768', 'T8', 'T9', 'T6', 'T96112', 'T4', 'T5', 'T2', 'T3', 'T16777248', 'T1310', 'T143', 'T9174', 'T-2147483646', 'T-2147482176', 'T1', 'T678864', 'T24', 'T41944', 'T18436', 'T-2147481664', 'T48576', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T8651776', 'T52'])\n\nt2 = set(['T16777232', 'T524544', 'T33554448', 'T1152', 'T63616', 'T262656', 'T83888', 'T32', 'T748928', 'T-21474825', 'T4718592', 'T-2147483648', 'T618624', 'T6553', 'T3942', 'T16793941', 'T16777472', 'T12582912', 'T-2147482816', 'T36992', 'T134217728', 'T-18748192', 'T518', 'T262144', 'T128', 'T145', 'T16777216', 'T16777248', 'T86752', 'T524288', 'T-21474819', 'T492', 'T1372', 'T33554944', 'T16384', 'T16512', 'T113776', 'T48', 'T43968', 'T8912896', 'T143', 'T256', 'T48576', 'T32896', 'T393216', 'T2516', 'T-2147482688', 'T7808', 'T4325376', 'T917', 'T132', 'T331648', 'T9175552', 'T16', 'T11141888', 'T12', 'T8389632', 'T786432', 'T-21474872', 'T1132', 'T-2147483647', 'T268', 'T488', 'T52', 'T56', 'T512', 'T98', 'T96', 'T97', 'T4', 'T16777557', 'T33554432', 'T268435456', 'T8', 'T9', 'T6', 'T7', 'T-2147482432', 'T5', 'T2', 'T3', 'T1', 'T1310', 'T514', 'T9174', 'T-2147483646', 'T-2147482176', 'T24', 'T589824', 'T41944', 'T-2147481664', 'T8651776', 'T8768', 'T64', 'T-2147482944', 'T65536', 'T55424', 'T18436', 'T544'])",
  u'print len(t1),\nprint len(t2)\n\nprint len(t1.union(t2))',
  u't1.union(t2)',
  u"import collections\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
  u"get_ipython().magic(u'time c1 = count_values(train_fname)')",
  u"from  collections import Counter\n\ndef count_values(fname):\n    cat_counter = Counter()\n    for chunk in pd.read_csv(fname, index_col='Id', iterator=True, chunksize=chunksize, dtype=object):\n        print '*',\n        data = pd.DataFrame()\n        data = data.append(chunk, ignore_index=True)\n\n        for item in data.itertuples():\n            cat_counter.update(list(item[1:]))\n    return cat_counter",
  u"get_ipython().magic(u'time c1 = count_values(train_fname)')",
  u'c1.most_common()',
  u"get_ipython().magic(u'time c2 = count_values(test_fname)')",
  u'c2.most_common()',
  u'c1 + c2',
  u'c1 - c2',
  u'c1 & c2',
  u'c1 | c2',
  u'c = c1 + c2\nc.most_common()',
  u'c = c1 + c2\nlen(c.most_common())',
  u'sorted(t1+t2)',
  u'sorted(t1.union(t2))',
  u'sorted(t1.union(t2), key=str.lower)',
  u'sorted(t1.union(t2), key=len)',
  u'sorted(t1.union(t2), key=len, reverse=True)',
  u"c = c1 + c2\nc['T-2147482688']",
  u'for s in sorted(t1.union(t2), key=len, reverse=True):\n    print s, c[s]',
  u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % c[s]",
  u"for s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s//g' % s",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/%00d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%00d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%2d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i++",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i += 1",
  u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%03d/g' % (s, i)\n    i += 1",
  u'locals()'],
 '_ii': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i += 1",
 '_iii': u"i = 1\nfor s in sorted(t1.union(t2), key=len, reverse=True):\n    print 's/%s/S%02d/g' % (s, i)\n    i++",
 '_oh': {7: {'T16779428',
   'T178258',
   'T25165824',
   'T26808',
   'T678864',
   'T786944',
   'T91764',
   'T96112'},
  8: {'T12',
   'T132',
   'T16793941',
   'T262656',
   'T268',
   'T393216',
   'T3942',
   'T4325376',
   'T43968',
   'T488',
   'T518',
   'T544',
   'T7808',
   'T9175552'},
  13: {'T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16793941',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T96',
   'T97',
   'T98'},
  16: {'T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'},
  21: [(nan, 2465567643L),
   ('T1', 66323875),
   ('T3', 793092),
   ('T145', 325373),
   ('T4', 68429),
   ('T2', 38732),
   ('T143', 31950),
   ('T5', 18620),
   ('T8', 5672),
   ('T128', 4881),
   ('T16', 4217),
   ('T48576', 3388),
   ('T524288', 2960),
   ('T512', 2890),
   ('T32', 2876),
   ('T-2147483648', 1971),
   ('T1372', 1922),
   ('T65536', 1632),
   ('T48', 1610),
   ('T16777232', 1601),
   ('T256', 1264),
   ('T262144', 1161),
   ('T16777557', 1101),
   ('T16777248', 1092),
   ('T6', 1022),
   ('T83888', 969),
   ('T64', 646),
   ('T786432', 544),
   ('T6553', 516),
   ('T8389632', 513),
   ('T134217728', 421),
   ('T-2147482816', 385),
   ('T24', 383),
   ('T-2147482432', 375),
   ('T96', 374),
   ('T-2147482688', 364),
   ('T12582912', 307),
   ('T268435456', 298),
   ('T11141888', 272),
   ('T917', 272),
   ('T8912896', 256),
   ('T9174', 240),
   ('T7', 234),
   ('T16777216', 144),
   ('T98', 142),
   ('T618624', 133),
   ('T33554448', 132),
   ('T-21474872', 115),
   ('T2516', 112),
   ('T331648', 104),
   ('T1152', 103),
   ('T52', 91),
   ('T16384', 90),
   ('T41944', 80),
   ('T113776', 80),
   ('T56', 78),
   ('T8651776', 76),
   ('T678864', 66),
   ('T4718592', 64),
   ('T97', 52),
   ('T9', 50),
   ('T18436', 39),
   ('T748928', 38),
   ('T36992', 38),
   ('T32896', 37),
   ('T-2147481664', 34),
   ('T524544', 32),
   ('T786944', 32),
   ('T33554432', 26),
   ('T1310', 26),
   ('T8768', 19),
   ('T26808', 18),
   ('T1132', 16),
   ('T96112', 16),
   ('T86752', 16),
   ('T25165824', 16),
   ('T91764', 16),
   ('T16777472', 13),
   ('T16779428', 13),
   ('T178258', 13),
   ('T33554944', 13),
   ('T-21474825', 12),
   ('T589824', 9),
   ('T514', 9),
   ('T-21474819', 5),
   ('T492', 4),
   ('T-18748192', 3),
   ('T16512', 3),
   ('T63616', 2),
   ('T-2147483647', 2),
   ('T-2147483646', 2),
   ('T-2147482176', 1),
   ('T-2147482944', 1),
   ('T55424', 1)],
  23: [(nan, 2465604793L),
   ('T1', 66293462),
   ('T3', 790068),
   ('T145', 324001),
   ('T4', 68544),
   ('T2', 38809),
   ('T143', 32458),
   ('T5', 18506),
   ('T8', 5696),
   ('T128', 4917),
   ('T16', 4152),
   ('T512', 3128),
   ('T524288', 3040),
   ('T48576', 3011),
   ('T32', 2661),
   ('T-2147483648', 1938),
   ('T1372', 1661),
   ('T16777232', 1646),
   ('T65536', 1621),
   ('T48', 1470),
   ('T262144', 1349),
   ('T256', 1180),
   ('T16777557', 1170),
   ('T83888', 1100),
   ('T6', 1003),
   ('T16777248', 923),
   ('T268435456', 598),
   ('T134217728', 574),
   ('T6553', 532),
   ('T64', 475),
   ('T-2147482816', 403),
   ('T8389632', 361),
   ('T-2147482688', 360),
   ('T96', 340),
   ('T8912896', 336),
   ('T9174', 336),
   ('T-2147482432', 332),
   ('T11141888', 288),
   ('T786432', 288),
   ('T24', 250),
   ('T7', 250),
   ('T12582912', 233),
   ('T917', 208),
   ('T52', 195),
   ('T16777216', 144),
   ('T16384', 135),
   ('T33554448', 130),
   ('T331648', 120),
   ('T618624', 114),
   ('T98', 114),
   ('T113776', 112),
   ('T-21474872', 101),
   ('T1152', 98),
   ('T4718592', 80),
   ('T748928', 76),
   ('T56', 65),
   ('T41944', 48),
   ('T36992', 44),
   ('T9', 44),
   ('T97', 42),
   ('T16777472', 39),
   ('T8651776', 38),
   ('T-2147481664', 37),
   ('T32896', 34),
   ('T2516', 32),
   ('T7808', 32),
   ('T33554944', 26),
   ('T1310', 25),
   ('T33554432', 24),
   ('T3942', 19),
   ('T393216', 19),
   ('T4325376', 19),
   ('T8768', 19),
   ('T262656', 16),
   ('T43968', 16),
   ('T1132', 16),
   ('T524544', 16),
   ('T86752', 16),
   ('T9175552', 16),
   ('T488', 13),
   ('T132', 13),
   ('T544', 13),
   ('T18436', 13),
   ('T16793941', 13),
   ('T-21474825', 11),
   ('T268', 9),
   ('T16512', 6),
   ('T514', 6),
   ('T492', 5),
   ('T-2147482944', 5),
   ('T63616', 4),
   ('T55424', 3),
   ('T589824', 3),
   ('T518', 3),
   ('T-18748192', 2),
   ('T-21474819', 2),
   ('T12', 1),
   ('T-2147483647', 1),
   ('T-2147482176', 1),
   ('T-2147483646', 1)],
  24: Counter({nan: 4931172436L,
           'T-18748192': 5,
           'T-2147481664': 71,
           'T-21474819': 7,
           'T-2147482176': 2,
           'T-2147482432': 707,
           'T-21474825': 23,
           'T-2147482688': 724,
           'T-2147482816': 788,
           'T-2147482944': 6,
           'T-2147483646': 3,
           'T-2147483647': 3,
           'T-2147483648': 3909,
           'T-21474872': 216,
           'T1': 132617337,
           'T11141888': 560,
           'T1132': 32,
           'T113776': 192,
           'T1152': 201,
           'T12': 1,
           'T12582912': 540,
           'T128': 9798,
           'T1310': 51,
           'T132': 13,
           'T134217728': 995,
           'T1372': 3583,
           'T143': 64408,
           'T145': 649374,
           'T16': 8369,
           'T16384': 225,
           'T16512': 9,
           'T16777216': 288,
           'T16777232': 3247,
           'T16777248': 2015,
           'T16777472': 52,
           'T16777557': 2271,
           'T16779428': 13,
           'T16793941': 13,
           'T178258': 13,
           'T18436': 52,
           'T2': 77541,
           'T24': 633,
           'T2516': 144,
           'T25165824': 16,
           'T256': 2444,
           'T262144': 2510,
           'T262656': 16,
           'T268': 9,
           'T26808': 18,
           'T268435456': 896,
           'T3': 1583160,
           'T32': 5537,
           'T32896': 71,
           'T331648': 224,
           'T33554432': 50,
           'T33554448': 262,
           'T33554944': 39,
           'T36992': 82,
           'T393216': 19,
           'T3942': 19,
           'T4': 136973,
           'T41944': 128,
           'T4325376': 19,
           'T43968': 16,
           'T4718592': 144,
           'T48': 3080,
           'T48576': 6399,
           'T488': 13,
           'T492': 9,
           'T5': 37126,
           'T512': 6018,
           'T514': 15,
           'T518': 3,
           'T52': 286,
           'T524288': 6000,
           'T524544': 48,
           'T544': 13,
           'T55424': 4,
           'T56': 143,
           'T589824': 12,
           'T6': 2025,
           'T618624': 247,
           'T63616': 6,
           'T64': 1121,
           'T6553': 1048,
           'T65536': 3253,
           'T678864': 66,
           'T7': 484,
           'T748928': 114,
           'T7808': 32,
           'T786432': 832,
           'T786944': 32,
           'T8': 11368,
           'T83888': 2069,
           'T8389632': 874,
           'T8651776': 114,
           'T86752': 32,
           'T8768': 38,
           'T8912896': 592,
           'T9': 94,
           'T917': 480,
           'T9174': 576,
           'T9175552': 16,
           'T91764': 16,
           'T96': 714,
           'T96112': 16,
           'T97': 94,
           'T98': 256}),
  25: Counter({'T-18748192': 1,
           'T-21474819': 3,
           'T-2147482432': 43,
           'T-21474825': 1,
           'T-2147482688': 4,
           'T-2147483646': 1,
           'T-2147483647': 1,
           'T-2147483648': 33,
           'T-21474872': 14,
           'T1': 30413,
           'T1152': 5,
           'T12582912': 74,
           'T1310': 1,
           'T1372': 261,
           'T145': 1372,
           'T16': 65,
           'T16777248': 169,
           'T16779428': 13,
           'T178258': 13,
           'T18436': 26,
           'T24': 133,
           'T2516': 80,
           'T25165824': 16,
           'T256': 84,
           'T26808': 18,
           'T3': 3024,
           'T32': 215,
           'T32896': 3,
           'T33554432': 2,
           'T33554448': 2,
           'T41944': 32,
           'T48': 140,
           'T48576': 377,
           'T5': 114,
           'T514': 3,
           'T524544': 16,
           'T56': 13,
           'T589824': 6,
           'T6': 19,
           'T618624': 19,
           'T64': 171,
           'T65536': 11,
           'T678864': 66,
           'T786432': 256,
           'T786944': 32,
           'T8389632': 152,
           'T8651776': 38,
           'T9': 6,
           'T917': 64,
           'T91764': 16,
           'T96': 34,
           'T96112': 16,
           'T97': 10,
           'T98': 28}),
  26: Counter({nan: 2465567643L,
           'T-18748192': 2,
           'T-2147481664': 34,
           'T-21474819': 2,
           'T-2147482176': 1,
           'T-2147482432': 332,
           'T-21474825': 11,
           'T-2147482688': 360,
           'T-2147482816': 385,
           'T-2147482944': 1,
           'T-2147483646': 1,
           'T-2147483647': 1,
           'T-2147483648': 1938,
           'T-21474872': 101,
           'T1': 66293462,
           'T11141888': 272,
           'T1132': 16,
           'T113776': 80,
           'T1152': 98,
           'T12582912': 233,
           'T128': 4881,
           'T1310': 25,
           'T134217728': 421,
           'T1372': 1661,
           'T143': 31950,
           'T145': 324001,
           'T16': 4152,
           'T16384': 90,
           'T16512': 3,
           'T16777216': 144,
           'T16777232': 1601,
           'T16777248': 923,
           'T16777472': 13,
           'T16777557': 1101,
           'T18436': 13,
           'T2': 38732,
           'T24': 250,
           'T2516': 32,
           'T256': 1180,
           'T262144': 1161,
           'T268435456': 298,
           'T3': 790068,
           'T32': 2661,
           'T32896': 34,
           'T331648': 104,
           'T33554432': 24,
           'T33554448': 130,
           'T33554944': 13,
           'T36992': 38,
           'T4': 68429,
           'T41944': 48,
           'T4718592': 64,
           'T48': 1470,
           'T48576': 3011,
           'T492': 4,
           'T5': 18506,
           'T512': 2890,
           'T514': 6,
           'T52': 91,
           'T524288': 2960,
           'T524544': 16,
           'T55424': 1,
           'T56': 65,
           'T589824': 3,
           'T6': 1003,
           'T618624': 114,
           'T63616': 2,
           'T64': 475,
           'T6553': 516,
           'T65536': 1621,
           'T7': 234,
           'T748928': 38,
           'T786432': 288,
           'T8': 5672,
           'T83888': 969,
           'T8389632': 361,
           'T8651776': 38,
           'T86752': 16,
           'T8768': 19,
           'T8912896': 256,
           'T9': 44,
           'T917': 208,
           'T9174': 240,
           'T96': 340,
           'T97': 42,
           'T98': 114}),
  27: Counter({nan: 2465604793L,
           'T-18748192': 3,
           'T-2147481664': 37,
           'T-21474819': 5,
           'T-2147482176': 1,
           'T-2147482432': 375,
           'T-21474825': 12,
           'T-2147482688': 364,
           'T-2147482816': 403,
           'T-2147482944': 5,
           'T-2147483646': 2,
           'T-2147483647': 2,
           'T-2147483648': 1971,
           'T-21474872': 115,
           'T1': 66323875,
           'T11141888': 288,
           'T1132': 16,
           'T113776': 112,
           'T1152': 103,
           'T12': 1,
           'T12582912': 307,
           'T128': 4917,
           'T1310': 26,
           'T132': 13,
           'T134217728': 574,
           'T1372': 1922,
           'T143': 32458,
           'T145': 325373,
           'T16': 4217,
           'T16384': 135,
           'T16512': 6,
           'T16777216': 144,
           'T16777232': 1646,
           'T16777248': 1092,
           'T16777472': 39,
           'T16777557': 1170,
           'T16779428': 13,
           'T16793941': 13,
           'T178258': 13,
           'T18436': 39,
           'T2': 38809,
           'T24': 383,
           'T2516': 112,
           'T25165824': 16,
           'T256': 1264,
           'T262144': 1349,
           'T262656': 16,
           'T268': 9,
           'T26808': 18,
           'T268435456': 598,
           'T3': 793092,
           'T32': 2876,
           'T32896': 37,
           'T331648': 120,
           'T33554432': 26,
           'T33554448': 132,
           'T33554944': 26,
           'T36992': 44,
           'T393216': 19,
           'T3942': 19,
           'T4': 68544,
           'T41944': 80,
           'T4325376': 19,
           'T43968': 16,
           'T4718592': 80,
           'T48': 1610,
           'T48576': 3388,
           'T488': 13,
           'T492': 5,
           'T5': 18620,
           'T512': 3128,
           'T514': 9,
           'T518': 3,
           'T52': 195,
           'T524288': 3040,
           'T524544': 32,
           'T544': 13,
           'T55424': 3,
           'T56': 78,
           'T589824': 9,
           'T6': 1022,
           'T618624': 133,
           'T63616': 4,
           'T64': 646,
           'T6553': 532,
           'T65536': 1632,
           'T678864': 66,
           'T7': 250,
           'T748928': 76,
           'T7808': 32,
           'T786432': 544,
           'T786944': 32,
           'T8': 5696,
           'T83888': 1100,
           'T8389632': 513,
           'T8651776': 76,
           'T86752': 16,
           'T8768': 19,
           'T8912896': 336,
           'T9': 50,
           'T917': 272,
           'T9174': 336,
           'T9175552': 16,
           'T91764': 16,
           'T96': 374,
           'T96112': 16,
           'T97': 52,
           'T98': 142}),
  28: [(nan, 4931172436L),
   ('T1', 132617337),
   ('T3', 1583160),
   ('T145', 649374),
   ('T4', 136973),
   ('T2', 77541),
   ('T143', 64408),
   ('T5', 37126),
   ('T8', 11368),
   ('T128', 9798),
   ('T16', 8369),
   ('T48576', 6399),
   ('T512', 6018),
   ('T524288', 6000),
   ('T32', 5537),
   ('T-2147483648', 3909),
   ('T1372', 3583),
   ('T65536', 3253),
   ('T16777232', 3247),
   ('T48', 3080),
   ('T262144', 2510),
   ('T256', 2444),
   ('T16777557', 2271),
   ('T83888', 2069),
   ('T6', 2025),
   ('T16777248', 2015),
   ('T64', 1121),
   ('T6553', 1048),
   ('T134217728', 995),
   ('T268435456', 896),
   ('T8389632', 874),
   ('T786432', 832),
   ('T-2147482816', 788),
   ('T-2147482688', 724),
   ('T96', 714),
   ('T-2147482432', 707),
   ('T24', 633),
   ('T8912896', 592),
   ('T9174', 576),
   ('T11141888', 560),
   ('T12582912', 540),
   ('T7', 484),
   ('T917', 480),
   ('T16777216', 288),
   ('T52', 286),
   ('T33554448', 262),
   ('T98', 256),
   ('T618624', 247),
   ('T16384', 225),
   ('T331648', 224),
   ('T-21474872', 216),
   ('T1152', 201),
   ('T113776', 192),
   ('T2516', 144),
   ('T4718592', 144),
   ('T56', 143),
   ('T41944', 128),
   ('T748928', 114),
   ('T8651776', 114),
   ('T97', 94),
   ('T9', 94),
   ('T36992', 82),
   ('T32896', 71),
   ('T-2147481664', 71),
   ('T678864', 66),
   ('T16777472', 52),
   ('T18436', 52),
   ('T1310', 51),
   ('T33554432', 50),
   ('T524544', 48),
   ('T33554944', 39),
   ('T8768', 38),
   ('T1132', 32),
   ('T7808', 32),
   ('T86752', 32),
   ('T786944', 32),
   ('T-21474825', 23),
   ('T3942', 19),
   ('T393216', 19),
   ('T4325376', 19),
   ('T26808', 18),
   ('T262656', 16),
   ('T43968', 16),
   ('T96112', 16),
   ('T25165824', 16),
   ('T91764', 16),
   ('T9175552', 16),
   ('T514', 15),
   ('T488', 13),
   ('T132', 13),
   ('T544', 13),
   ('T16793941', 13),
   ('T16779428', 13),
   ('T178258', 13),
   ('T589824', 12),
   ('T492', 9),
   ('T16512', 9),
   ('T268', 9),
   ('T-21474819', 7),
   ('T63616', 6),
   ('T-2147482944', 6),
   ('T-18748192', 5),
   ('T55424', 4),
   ('T-2147483647', 3),
   ('T518', 3),
   ('T-2147483646', 3),
   ('T-2147482176', 2),
   ('T12', 1)],
  29: 108,
  31: ['T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'],
  32: ['T-18748192',
   'T-2147481664',
   'T-21474819',
   'T-2147482176',
   'T-2147482432',
   'T-21474825',
   'T-2147482688',
   'T-2147482816',
   'T-2147482944',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-21474872',
   'T1',
   'T11141888',
   'T1132',
   'T113776',
   'T1152',
   'T12',
   'T12582912',
   'T128',
   'T1310',
   'T132',
   'T134217728',
   'T1372',
   'T143',
   'T145',
   'T16',
   'T16384',
   'T16512',
   'T16777216',
   'T16777232',
   'T16777248',
   'T16777472',
   'T16777557',
   'T16779428',
   'T16793941',
   'T178258',
   'T18436',
   'T2',
   'T24',
   'T2516',
   'T25165824',
   'T256',
   'T262144',
   'T262656',
   'T268',
   'T26808',
   'T268435456',
   'T3',
   'T32',
   'T32896',
   'T331648',
   'T33554432',
   'T33554448',
   'T33554944',
   'T36992',
   'T393216',
   'T3942',
   'T4',
   'T41944',
   'T4325376',
   'T43968',
   'T4718592',
   'T48',
   'T48576',
   'T488',
   'T492',
   'T5',
   'T512',
   'T514',
   'T518',
   'T52',
   'T524288',
   'T524544',
   'T544',
   'T55424',
   'T56',
   'T589824',
   'T6',
   'T618624',
   'T63616',
   'T64',
   'T6553',
   'T65536',
   'T678864',
   'T7',
   'T748928',
   'T7808',
   'T786432',
   'T786944',
   'T8',
   'T83888',
   'T8389632',
   'T8651776',
   'T86752',
   'T8768',
   'T8912896',
   'T9',
   'T917',
   'T9174',
   'T9175552',
   'T91764',
   'T96',
   'T96112',
   'T97',
   'T98'],
  33: ['T1',
   'T8',
   'T9',
   'T6',
   'T7',
   'T4',
   'T5',
   'T2',
   'T3',
   'T16',
   'T12',
   'T98',
   'T96',
   'T97',
   'T24',
   'T32',
   'T48',
   'T52',
   'T56',
   'T64',
   'T488',
   'T128',
   'T145',
   'T143',
   'T492',
   'T256',
   'T132',
   'T544',
   'T518',
   'T512',
   'T514',
   'T917',
   'T268',
   'T1152',
   'T3942',
   'T1372',
   'T2516',
   'T7808',
   'T1310',
   'T6553',
   'T8768',
   'T9174',
   'T1132',
   'T63616',
   'T16384',
   'T43968',
   'T96112',
   'T83888',
   'T18436',
   'T36992',
   'T41944',
   'T16512',
   'T32896',
   'T65536',
   'T91764',
   'T26808',
   'T86752',
   'T48576',
   'T55424',
   'T262656',
   'T748928',
   'T618624',
   'T262144',
   'T524288',
   'T331648',
   'T786432',
   'T524544',
   'T113776',
   'T393216',
   'T178258',
   'T786944',
   'T589824',
   'T678864',
   'T4718592',
   'T8651776',
   'T8912896',
   'T4325376',
   'T9175552',
   'T8389632',
   'T16777472',
   'T11141888',
   'T33554432',
   'T16777232',
   'T33554448',
   'T16793941',
   'T12582912',
   'T16777216',
   'T16777248',
   'T16779428',
   'T25165824',
   'T16777557',
   'T33554944',
   'T-21474825',
   'T-18748192',
   'T134217728',
   'T-21474819',
   'T268435456',
   'T-21474872',
   'T-2147482688',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-2147482176',
   'T-2147482944',
   'T-2147482432',
   'T-2147482816',
   'T-2147481664'],
  34: ['T-2147482688',
   'T-2147483646',
   'T-2147483647',
   'T-2147483648',
   'T-2147482176',
   'T-2147482944',
   'T-2147482432',
   'T-2147482816',
   'T-2147481664',
   'T-21474825',
   'T-18748192',
   'T134217728',
   'T-21474819',
   'T268435456',
   'T-21474872',
   'T16777472',
   'T11141888',
   'T33554432',
   'T16777232',
   'T33554448',
   'T16793941',
   'T12582912',
   'T16777216',
   'T16777248',
   'T16779428',
   'T25165824',
   'T16777557',
   'T33554944',
   'T4718592',
   'T8651776',
   'T8912896',
   'T4325376',
   'T9175552',
   'T8389632',
   'T262656',
   'T748928',
   'T618624',
   'T262144',
   'T524288',
   'T331648',
   'T786432',
   'T524544',
   'T113776',
   'T393216',
   'T178258',
   'T786944',
   'T589824',
   'T678864',
   'T63616',
   'T16384',
   'T43968',
   'T96112',
   'T83888',
   'T18436',
   'T36992',
   'T41944',
   'T16512',
   'T32896',
   'T65536',
   'T91764',
   'T26808',
   'T86752',
   'T48576',
   'T55424',
   'T1152',
   'T3942',
   'T1372',
   'T2516',
   'T7808',
   'T1310',
   'T6553',
   'T8768',
   'T9174',
   'T1132',
   'T488',
   'T128',
   'T145',
   'T143',
   'T492',
   'T256',
   'T132',
   'T544',
   'T518',
   'T512',
   'T514',
   'T917',
   'T268',
   'T16',
   'T12',
   'T98',
   'T96',
   'T97',
   'T24',
   'T32',
   'T48',
   'T52',
   'T56',
   'T64',
   'T1',
   'T8',
   'T9',
   'T6',
   'T7',
   'T4',
   'T5',
   'T2',
   'T3'],
  35: 724},
 '_sh': <module 'IPython.core.shadowns' from 'd:\anaconda\envs\Deep\lib\site-packages\IPython\core\shadowns.pyc'>,
 'c': Counter({nan: 4931172436L,
          'T-18748192': 5,
          'T-2147481664': 71,
          'T-21474819': 7,
          'T-2147482176': 2,
          'T-2147482432': 707,
          'T-21474825': 23,
          'T-2147482688': 724,
          'T-2147482816': 788,
          'T-2147482944': 6,
          'T-2147483646': 3,
          'T-2147483647': 3,
          'T-2147483648': 3909,
          'T-21474872': 216,
          'T1': 132617337,
          'T11141888': 560,
          'T1132': 32,
          'T113776': 192,
          'T1152': 201,
          'T12': 1,
          'T12582912': 540,
          'T128': 9798,
          'T1310': 51,
          'T132': 13,
          'T134217728': 995,
          'T1372': 3583,
          'T143': 64408,
          'T145': 649374,
          'T16': 8369,
          'T16384': 225,
          'T16512': 9,
          'T16777216': 288,
          'T16777232': 3247,
          'T16777248': 2015,
          'T16777472': 52,
          'T16777557': 2271,
          'T16779428': 13,
          'T16793941': 13,
          'T178258': 13,
          'T18436': 52,
          'T2': 77541,
          'T24': 633,
          'T2516': 144,
          'T25165824': 16,
          'T256': 2444,
          'T262144': 2510,
          'T262656': 16,
          'T268': 9,
          'T26808': 18,
          'T268435456': 896,
          'T3': 1583160,
          'T32': 5537,
          'T32896': 71,
          'T331648': 224,
          'T33554432': 50,
          'T33554448': 262,
          'T33554944': 39,
          'T36992': 82,
          'T393216': 19,
          'T3942': 19,
          'T4': 136973,
          'T41944': 128,
          'T4325376': 19,
          'T43968': 16,
          'T4718592': 144,
          'T48': 3080,
          'T48576': 6399,
          'T488': 13,
          'T492': 9,
          'T5': 37126,
          'T512': 6018,
          'T514': 15,
          'T518': 3,
          'T52': 286,
          'T524288': 6000,
          'T524544': 48,
          'T544': 13,
          'T55424': 4,
          'T56': 143,
          'T589824': 12,
          'T6': 2025,
          'T618624': 247,
          'T63616': 6,
          'T64': 1121,
          'T6553': 1048,
          'T65536': 3253,
          'T678864': 66,
          'T7': 484,
          'T748928': 114,
          'T7808': 32,
          'T786432': 832,
          'T786944': 32,
          'T8': 11368,
          'T83888': 2069,
          'T8389632': 874,
          'T8651776': 114,
          'T86752': 32,
          'T8768': 38,
          'T8912896': 592,
          'T9': 94,
          'T917': 480,
          'T9174': 576,
          'T9175552': 16,
          'T91764': 16,
          'T96': 714,
          'T96112': 16,
          'T97': 94,
          'T98': 256}),
 'c1': Counter({nan: 2465567643L,
          'T-18748192': 3,
          'T-2147481664': 34,
          'T-21474819': 5,
          'T-2147482176': 1,
          'T-2147482432': 375,
          'T-21474825': 12,
          'T-2147482688': 364,
          'T-2147482816': 385,
          'T-2147482944': 1,
          'T-2147483646': 2,
          'T-2147483647': 2,
          'T-2147483648': 1971,
          'T-21474872': 115,
          'T1': 66323875,
          'T11141888': 272,
          'T1132': 16,
          'T113776': 80,
          'T1152': 103,
          'T12582912': 307,
          'T128': 4881,
          'T1310': 26,
          'T134217728': 421,
          'T1372': 1922,
          'T143': 31950,
          'T145': 325373,
          'T16': 4217,
          'T16384': 90,
          'T16512': 3,
          'T16777216': 144,
          'T16777232': 1601,
          'T16777248': 1092,
          'T16777472': 13,
          'T16777557': 1101,
          'T16779428': 13,
          'T178258': 13,
          'T18436': 39,
          'T2': 38732,
          'T24': 383,
          'T2516': 112,
          'T25165824': 16,
          'T256': 1264,
          'T262144': 1161,
          'T26808': 18,
          'T268435456': 298,
          'T3': 793092,
          'T32': 2876,
          'T32896': 37,
          'T331648': 104,
          'T33554432': 26,
          'T33554448': 132,
          'T33554944': 13,
          'T36992': 38,
          'T4': 68429,
          'T41944': 80,
          'T4718592': 64,
          'T48': 1610,
          'T48576': 3388,
          'T492': 4,
          'T5': 18620,
          'T512': 2890,
          'T514': 9,
          'T52': 91,
          'T524288': 2960,
          'T524544': 32,
          'T55424': 1,
          'T56': 78,
          'T589824': 9,
          'T6': 1022,
          'T618624': 133,
          'T63616': 2,
          'T64': 646,
          'T6553': 516,
          'T65536': 1632,
          'T678864': 66,
          'T7': 234,
          'T748928': 38,
          'T786432': 544,
          'T786944': 32,
          'T8': 5672,
          'T83888': 969,
          'T8389632': 513,
          'T8651776': 76,
          'T86752': 16,
          'T8768': 19,
          'T8912896': 256,
          'T9': 50,
          'T917': 272,
          'T9174': 240,
          'T91764': 16,
          'T96': 374,
          'T96112': 16,
          'T97': 52,
          'T98': 142}),
 'c2': Counter({nan: 2465604793L,
          'T-18748192': 2,
          'T-2147481664': 37,
          'T-21474819': 2,
          'T-2147482176': 1,
          'T-2147482432': 332,
          'T-21474825': 11,
          'T-2147482688': 360,
          'T-2147482816': 403,
          'T-2147482944': 5,
          'T-2147483646': 1,
          'T-2147483647': 1,
          'T-2147483648': 1938,
          'T-21474872': 101,
          'T1': 66293462,
          'T11141888': 288,
          'T1132': 16,
          'T113776': 112,
          'T1152': 98,
          'T12': 1,
          'T12582912': 233,
          'T128': 4917,
          'T1310': 25,
          'T132': 13,
          'T134217728': 574,
          'T1372': 1661,
          'T143': 32458,
          'T145': 324001,
          'T16': 4152,
          'T16384': 135,
          'T16512': 6,
          'T16777216': 144,
          'T16777232': 1646,
          'T16777248': 923,
          'T16777472': 39,
          'T16777557': 1170,
          'T16793941': 13,
          'T18436': 13,
          'T2': 38809,
          'T24': 250,
          'T2516': 32,
          'T256': 1180,
          'T262144': 1349,
          'T262656': 16,
          'T268': 9,
          'T268435456': 598,
          'T3': 790068,
          'T32': 2661,
          'T32896': 34,
          'T331648': 120,
          'T33554432': 24,
          'T33554448': 130,
          'T33554944': 26,
          'T36992': 44,
          'T393216': 19,
          'T3942': 19,
          'T4': 68544,
          'T41944': 48,
          'T4325376': 19,
          'T43968': 16,
          'T4718592': 80,
          'T48': 1470,
          'T48576': 3011,
          'T488': 13,
          'T492': 5,
          'T5': 18506,
          'T512': 3128,
          'T514': 6,
          'T518': 3,
          'T52': 195,
          'T524288': 3040,
          'T524544': 16,
          'T544': 13,
          'T55424': 3,
          'T56': 65,
          'T589824': 3,
          'T6': 1003,
          'T618624': 114,
          'T63616': 4,
          'T64': 475,
          'T6553': 532,
          'T65536': 1621,
          'T7': 250,
          'T748928': 76,
          'T7808': 32,
          'T786432': 288,
          'T8': 5696,
          'T83888': 1100,
          'T8389632': 361,
          'T8651776': 38,
          'T86752': 16,
          'T8768': 19,
          'T8912896': 336,
          'T9': 44,
          'T917': 208,
          'T9174': 336,
          'T9175552': 16,
          'T96': 340,
          'T97': 42,
          'T98': 114}),
 'cat_values': <function __main__.cat_values>,
 'chunksize': 50000,
 'collections': <module 'collections' from 'd:\anaconda\envs\Deep\lib\collections.pyc'>,
 'count_values': <function __main__.count_values>,
 'exit': <IPython.core.autocall.ZMQExitAutocall at 0x3e816d8>,
 'get_ipython': <bound method ZMQInteractiveShell.get_ipython of <ipykernel.zmqshell.ZMQInteractiveShell object at 0x0000000003E81F60>>,
 'i': 108,
 'np': <module 'numpy' from 'd:\anaconda\envs\Deep\lib\site-packages\numpy\__init__.pyc'>,
 'output_fname': '../input/train_categorical_250000.out.csv',
 'pd': <module 'pandas' from 'd:\anaconda\envs\Deep\lib\site-packages\pandas\__init__.pyc'>,
 'quit': <IPython.core.autocall.ZMQExitAutocall at 0x3e816d8>,
 's': 'T3',
 't1': {'T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12582912',
  'T128',
  'T1310',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16779428',
  'T178258',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T25165824',
  'T256',
  'T262144',
  'T26808',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T4',
  'T41944',
  'T4718592',
  'T48',
  'T48576',
  'T492',
  'T5',
  'T512',
  'T514',
  'T52',
  'T524288',
  'T524544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T678864',
  'T7',
  'T748928',
  'T786432',
  'T786944',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T91764',
  'T96',
  'T96112',
  'T97',
  'T98'},
 't2': {'T-18748192',
  'T-2147481664',
  'T-21474819',
  'T-2147482176',
  'T-2147482432',
  'T-21474825',
  'T-2147482688',
  'T-2147482816',
  'T-2147482944',
  'T-2147483646',
  'T-2147483647',
  'T-2147483648',
  'T-21474872',
  'T1',
  'T11141888',
  'T1132',
  'T113776',
  'T1152',
  'T12',
  'T12582912',
  'T128',
  'T1310',
  'T132',
  'T134217728',
  'T1372',
  'T143',
  'T145',
  'T16',
  'T16384',
  'T16512',
  'T16777216',
  'T16777232',
  'T16777248',
  'T16777472',
  'T16777557',
  'T16793941',
  'T18436',
  'T2',
  'T24',
  'T2516',
  'T256',
  'T262144',
  'T262656',
  'T268',
  'T268435456',
  'T3',
  'T32',
  'T32896',
  'T331648',
  'T33554432',
  'T33554448',
  'T33554944',
  'T36992',
  'T393216',
  'T3942',
  'T4',
  'T41944',
  'T4325376',
  'T43968',
  'T4718592',
  'T48',
  'T48576',
  'T488',
  'T492',
  'T5',
  'T512',
  'T514',
  'T518',
  'T52',
  'T524288',
  'T524544',
  'T544',
  'T55424',
  'T56',
  'T589824',
  'T6',
  'T618624',
  'T63616',
  'T64',
  'T6553',
  'T65536',
  'T7',
  'T748928',
  'T7808',
  'T786432',
  'T8',
  'T83888',
  'T8389632',
  'T8651776',
  'T86752',
  'T8768',
  'T8912896',
  'T9',
  'T917',
  'T9174',
  'T9175552',
  'T96',
  'T97',
  'T98'},
 'test_fname': '../input/test_categorical.csv',
 'train_fname': '../input/train_categorical.csv'}