#include <bits/stdc++.h>
using namespace std;
char s[100005], cur[200005];
int main() {
  int n, k;
  cin >> n >> k;
  scanf("%s", s);
  vector<int> v[30];
  for (int i = 0; i < k; i++) {
    v[s[i] - 'a'].push_back(i);
  }
  for (int i = 0; i < n; i++) {
    scanf("%s", cur);
    int len = strlen(cur);
    long long ans = 0;
    for (int j = 0; j < len; j++) {
      char ch = cur[j];
      if (v[ch - 'a'].size() == 0) {
        ans += len;
        continue;
      }
      vector<int> &t = v[ch - 'a'];
      vector<int>::iterator tit;
      int mn = ~0u >> 2;
      if ((tit = lower_bound(t.begin(), t.end(), j)) != t.end()) {
        mn = *tit - j;
      }
      tit = upper_bound(t.begin(), t.end(), j) - 1;
      if (tit >= t.begin()) {
        mn = min(mn, j - *tit);
      }
      ans += mn;
    }
    cout << ans << endl;
  }
  return 0;
}
