#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { string S; cin >> S; int D[26][26]; for (int i = 0; i < 26; ++i) { for (int j = 0; j < 26; ++j) { cin >> D[i][j]; } } vector E[26]; for (int i = 0; i < S.size(); ++i) { char ch = S[i]; int idx = ch - 'a'; E[idx].push_back(i); } char ans[26][26]; for (int i = 0; i < 26; ++i) { for (int j = 0; j < 26; ++j) { ans[i][j] = 'Y'; bool ok = true; for (int x : E[i]) { auto it = upper_bound(E[j].begin(), E[j].end(), x); if (it != E[j].end() && x + D[i][j] > *it) { ok = false; } } if (not ok) { ans[i][j] = 'N'; } } } for (int i = 0; i < 26; ++i) { for (int j = 0; j < 26; ++j) { cout << ans[i][j] << " "; } cout << endl; } return 0; }