#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef pair ii; typedef vector vi; typedef vector vii; #define INF 1e9 #define ll long long #define ull unsigned long long string s; int target, source; int visited[20000] = {0}; int curr_mask = 0; int char_val[20000]; vector > v(20001); int char_val_to_mask(int ch){ return 1 << (ch - 'a'); } void dfs(int x, int mask){ visited[x] = 1; if(x == target) { curr_mask = mask; return; } for(int i=0; i0){ if(curr_mask & 1){ res++;} curr_mask>>=1; } return res; } int main() { // freopen("C:\\in.txt", "r", stdin); int n,m; scanf("%d %d", &n, &m); cin >> s; for(int i=0; i