import bisect S = list(input()) D = [] for _ in range(26): D.append(list(map(int, input().split()))) AL = [[] for _ in range(26)] for i,s in enumerate(S): AL[ord(s)-97].append(i) ANS = [['Y']*26 for _ in range(26)] for a in range(26): for al in AL[a]: for b in range(26): v = bisect.bisect_left(AL[b],al+1) if vAL[b][v]: ANS[a][b]='N' for ans in ANS: print(*ans)