import itertools
E= enumerate
L= len
def f( m) :
u, d, D= { 'y' :[ ] , 'g' :[ ] , 'o' :[ ] } , { } , { }
for l in m:t= [ a for a, b in l if b in 'yg' ] ; D= { **D, **{ i:max ( t.count ( i) , D.get ( i, 0 ) ) for i in t} }
for i, l in E( zip ( *m) ) :
for C, c in l:u[ c] += C,; d[ i] = d[ i] if list != type ( d.get ( i, [ ] ) ) else [ C, d.get ( i, [ ] ) +[ C] ] [ c in 'yo' ]
q, o= [ [ ] ] , [ ]
for w in q:
if L( w) -5 :q+= [ w+[ C] ] if '[' != str ( C:= d[ L( w) ] ) [ 0 ] else [ w+[ [ ] ] ] +[ w+[ i] for i in { *u[ 'y' ] } if ~ -( i in C) ]
else :o+= [ w] *all ( D[ j] == w.count ( j) for j in D)
return L( { j for i in o for j in itertools .product ( *[ [ k] if k else { *'abcdefghijklmnopqrstuvwxyz' } -{ *u[ 'o' ] , *d[ I] } for I, k in E( i) ] ) } ) if ~ -L( o) else eval ( '*' .join ( str ( [ 1 , 26 -L( [ *filter ( None , { *u[ 'o' ] , *d[ I] } ) ] ) ] [ k== [ ] ] ) for I, k in E( o[ 0 ] ) ) )
m= [ [ ( 'o' , 'o' ) , ( 'h' , 'o' ) , ( 'i' , 'y' ) , ( 'u' , 'y' ) , ( 'e' , 'o' ) ] ,
[ ( 'p' , 'o' ) , ( 't' , 'o' ) , ( 'y' , 'g' ) , ( 'y' , 'g' ) , ( 'u' , 'y' ) ] ]
m1 = [ [ ( 'e' , 'y' ) , ( 'e' , 'y' ) , ( 'b' , 'y' ) , ( 'o' , 'y' ) , ( 'o' , 'y' ) ] ]
[ [ 'b' , 'o' , 'o' , 'e' , 'e' ] , [ 'o' , 'b' , 'o' , 'e' , 'e' ] , [ 'o' , 'o' , 'e' , 'b' , 'e' ] , [ 'o' , 'o' , 'e' , 'e' , 'b' ] ]
m2 = [ [ ( 't' , 'o' ) , ( 'h' , 'o' ) , ( 'e' , 'g' ) , ( 'e' , 'g' ) , ( 'f' , 'o' ) ] ,
[ ( 'g' , 'y' ) , ( 'r' , 'g' ) , ( 'e' , 'g' ) , ( 'e' , 'g' ) , ( 'm' , 'y' ) ] ]
m3 = [ [ ( 'p' , 'y' ) , ( 'r' , 'y' ) , ( 'o' , 'y' ) , ( 'q' , 'y' ) , ( 'u' , 'y' ) ] ]
m4 = [ [ ( 'e' , 'y' ) , ( 'e' , 'o' ) , ( 'b' , 'y' ) , ( 'o' , 'g' ) , ( 'o' , 'y' ) ] ,
[ ( 'b' , 'y' ) , ( 'o' , 'o' ) , ( 'o' , 'y' ) , ( 'o' , 'g' ) , ( 'e' , 'y' ) ] ]
m5 = [ [ ( 'b' , 'o' ) , ( 'o' , 'o' ) , ( 'x' , 'y' ) , ( 'c' , 'g' ) , ( 'o' , 'y' ) ] ,
[ ( 's' , 'y' ) , ( 'o' , 'y' ) , ( 'd' , 'o' ) , ( 'a' , 'y' ) , ( 'r' , 'o' ) ] ,
[ ( 'x' , 'y' ) , ( 'a' , 'y' ) , ( 'o' , 'g' ) , ( 'c' , 'g' ) , ( 's' , 'y' ) ] ]
m6 = [ [ ( 'f' , 'o' ) , ( 'f' , 'o' ) , ( 'f' , 'o' ) , ( 'f' , 'o' ) , ( 'f' , 'o' ) ] ]
m7 = [ [ ( 'p' , 'o' ) , ( 'r' , 'o' ) , ( 'o' , 'o' ) , ( 'q' , 'o' ) , ( 'u' , 'o' ) ] ]
print ( f( [ [ ( '' , 'o' ) , ( '' , 'o' ) , ( '' , 'o' ) , ( '' , 'o' ) , ( '' , 'o' ) ] ] ) )
print ( f( m2) )
print ( f( m) )
print ( f( m6) )
print ( f( m7) )
print ( f( m3) )
print ( f( m1) )
print ( f( m4) )
print ( f( m5) )
aW1wb3J0IGl0ZXJ0b29scwpFPWVudW1lcmF0ZQpMPWxlbgpkZWYgZihtKToKIHUsZCxEPXsneSc6W10sJ2cnOltdLCdvJzpbXX0se30se30KIGZvciBsIGluIG06dD1bYSBmb3IgYSxiIGluIGwgaWYgYiBpbid5ZyddO0Q9eyoqRCwqKntpOm1heCh0LmNvdW50KGkpLEQuZ2V0KGksMCkpZm9yIGkgaW4gdH19CiBmb3IgaSxsIGluIEUoemlwKCptKSk6CiAgZm9yIEMsYyBpbiBsOnVbY10rPUMsO2RbaV09ZFtpXWlmIGxpc3QhPXR5cGUoZC5nZXQoaSxbXSkpZWxzZVtDLGQuZ2V0KGksW10pK1tDXV1bYyBpbid5byddCiBxLG89W1tdXSxbXQogZm9yIHcgaW4gcToKICBpZiBMKHcpLTU6cSs9W3crW0NdXWlmJ1snIT1zdHIoQzo9ZFtMKHcpXSlbMF1lbHNlW3crW1tdXV0rW3crW2ldZm9yIGkgaW57KnVbJ3knXX1pZn4tKGkgaW4gQyldCiAgZWxzZTpvKz1bd10qYWxsKERbal09PXcuY291bnQoailmb3IgaiBpbiBEKQogcmV0dXJuIEwoe2ogZm9yIGkgaW4gbyBmb3IgaiBpbiBpdGVydG9vbHMucHJvZHVjdCgqW1trXWlmIGsgZWxzZXsqJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6J30teyp1WydvJ10sKmRbSV19Zm9yIEksayBpbiBFKGkpXSl9KWlmfi1MKG8pZWxzZSBldmFsKCcqJy5qb2luKHN0cihbMSwyNi1MKFsqZmlsdGVyKE5vbmUseyp1WydvJ10sKmRbSV19KV0pXVtrPT1bXV0pZm9yIEksayBpbiBFKG9bMF0pKSkKIAptPVtbKCdvJywnbycpLCgnaCcsJ28nKSwgKCdpJywgJ3knKSwgKCd1JywgJ3knKSwgKCdlJywgJ28nKV0sIAogICBbKCdwJywgJ28nKSwgKCd0JywgJ28nKSwgKCd5JywgJ2cnKSwgKCd5JywgJ2cnKSwgKCd1JywgJ3knKV1dCgptMSA9IFtbKCdlJywneScpLCAoJ2UnLCAneScpLCAoJ2InLCAneScpLCAoJ28nLCAneScpLCAoJ28nLCAneScpXV0KCltbJ2InLCAnbycsICdvJywgJ2UnLCAnZSddLCBbJ28nLCAnYicsICdvJywgJ2UnLCAnZSddLCBbJ28nLCAnbycsICdlJywgJ2InLCAnZSddLCBbJ28nLCAnbycsICdlJywgJ2UnLCAnYiddXQoKbTIgPSBbWygndCcsICdvJyksICgnaCcsICdvJyksICgnZScsICdnJyksICgnZScsICdnJyksICgnZicsICdvJyldLAogWygnZycsICd5JyksICgncicsICdnJyksICgnZScsICdnJyksICgnZScsICdnJyksICgnbScsICd5JyldXQoKbTMgPSBbWygncCcsICd5JyksICgncicsICd5JyksICgnbycsICd5JyksICgncScsICd5JyksICgndScsICd5JyldXQoKbTQgPSBbWygnZScsICd5JyksICgnZScsICdvJyksICgnYicsICd5JyksICgnbycsICdnJyksICgnbycsICd5JyldLAoJWygnYicsICd5JyksICgnbycsICdvJyksICgnbycsICd5JyksICgnbycsICdnJyksICgnZScsICd5JyldXQoKbTUgPSBbWygnYicsICdvJyksICgnbycsICdvJyksICgneCcsICd5JyksICgnYycsICdnJyksICgnbycsICd5JyldLAogWygncycsICd5JyksICgnbycsICd5JyksICgnZCcsICdvJyksICgnYScsICd5JyksICgncicsICdvJyldLAogWygneCcsICd5JyksICgnYScsICd5JyksICgnbycsICdnJyksICgnYycsICdnJyksICgncycsICd5JyldXQoKbTYgPSBbWygnZicsICdvJyksICgnZicsICdvJyksICgnZicsICdvJyksICgnZicsICdvJyksICgnZicsICdvJyldXQptNyA9IFtbKCdwJywgJ28nKSwgKCdyJywgJ28nKSwgKCdvJywgJ28nKSwgKCdxJywgJ28nKSwgKCd1JywgJ28nKV1dCgoKcHJpbnQoZihbWygnJywgJ28nKSwgKCcnLCAnbycpLCAoJycsICdvJyksICgnJywgJ28nKSwgKCcnLCAnbycpXV0pKQpwcmludChmKG0yKSkKcHJpbnQoZihtKSkKcHJpbnQoZihtNikpCnByaW50KGYobTcpKQpwcmludChmKG0zKSkKcHJpbnQoZihtMSkpCnByaW50KGYobTQpKQpwcmludChmKG01KSk=