#include <bits/stdc++.h>
using namespace std;
template <typename T>
using v = vector<T>;
#define rep(i, k, n) for (int i =k; i < n; i++)
using ll = long long;
using pii = pair<int, int>;
string check(string a, string b) {
    int n = a.size();
    rep(i, 0, n-1) {
        if (a[i] == b[i]) continue;
        int dif = b[i] - a[i];
        if (dif < 0) dif += 26;
        a[i] = (a[i]-'a'+dif) % 26 + 'a';
        a[i+1] = (a[i+1]-'a'+dif) % 26 + 'a';
    }
    bool can = true;
    //cout << a << " " << b << endl;
    rep(i, 0, n) {
        if (a[i] != b[i]) can = false;
    }
    return (can ? "da" : "ne");
}
int main() {
    int n, q; cin >> n >> q;
    string a, b; cin >> a >> b;
    cout << check(a, b) << "\n";
    while (q--) {
        int id; char c; cin >> id >> c;
        id--;
        a[id] = c;
        cout << a << endl;
        cout << check(a, b) << "\n";
    }
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |