from bisect import bisect_left place = [[] for _ in range(26)] for i, v in enumerate(input()): place[ord(v)-97].append(i) d = [list(map(int, input().split())) for _ in range(26)] ans = [["Y"]*26 for _ in range(26)] for i in range(26): for v in place[i]: for j in range(26): if bisect_left(place[j], v+d[i][j])-bisect_left(place[j], v+1) > 0: ans[i][j] = "N" for s in ans: print(*s)