(I2
I57
I5
(dp0
Vnecklace.%l
p1
(Vnecklace1.cpp
p2
S'#include <iostream>\r\n#include <cstdio>\r\n#include <vector>\r\nusing namespace std;\r\nlong long n, k, letters[100000][27], counter = 0, i, j, f;\r\nvector <long long> v[27];\r\n\r\nint main()\r\n{\r\n    string s, s1;\r\n    pair <char, char> p[677];\r\n\r\n    scanf("%lld %lld", &n, &k);\r\n    cin >> s;\r\n\r\n    for(i = 0; i < n; ++i)\r\n    {\r\n        v[s[i] - \'a\'].push_back(i);\r\n    }\r\n\r\n    for(i = 0; i < k; ++i)\r\n    {\r\n        cin >> s1;\r\n\r\n        p[i].first = s1[0];\r\n        p[i].second = s1[1];\r\n    }\r\n\r\n    for(j = 0; j < 26; ++j)\r\n    {\r\n        letters[0][j] = 0;\r\n    }\r\n\r\n    ++letters[0][s[0] - \'a\'];\r\n\r\n    for(i = 1; i < n; ++i)\r\n    {\r\n        for(j = 0; j < 26; ++j)\r\n        {\r\n            letters[i][j] = letters[i - 1][j];\r\n        }\r\n\r\n        ++letters[i][s[i] - \'a\'];\r\n    }\r\n\r\n    /*for(i = 0; i < k; i++)\r\n    {\r\n        for(j = 0; j < n; j++)\r\n        {\r\n            if(s[j] == p[i].first)counter += (letters[n - 1][p[i].second - \'a\'] - letters[j][p[i].second - \'a\']);\r\n        }\r\n    }*/\r\n\r\n    for(i = 0; i < k; ++i)\r\n    {\r\n        for(j = 0; j < v[p[i].first - \'a\'].size(); ++j)\r\n        {\r\n            for(f = 0; f < v[p[i].second - \'a\'].size(); ++f)\r\n            {\r\n                if(v[p[i].first - \'a\'][j] < v[p[i].second - \'a\'][f])\r\n                {\r\n                    counter += v[p[i].second - \'a\'].size() - f;\r\n                    //cout << v[p[i].first - \'a\'][j] << " " << v[p[i].second - \'a\'][f] << " " << v[p[i].second - \'a\'].size() - f << endl;\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n\r\n    printf("%lld\\n", counter);\r\n\r\n\r\n    return 0;\r\n\r\n}\r\n'
p3
tp4
stp5
.