#include <bits/stdc++.h>
using namespace std;
string s, t, tmp1, tmp2;
vector<int> ans;
int cnt, n;
int main() {
  cin >> n;
  cin >> s >> t;
  tmp1 = s, tmp2 = t;
  sort(tmp1.begin(), tmp1.end());
  sort(tmp2.begin(), tmp2.end());
  if (tmp1 != tmp2) return cout << -1, 0;
  if (s[0] == t[n - 1]) cnt++;
  while (cnt != n) {
    int i;
    for (i = cnt; i < n; i++) {
      if (s[i] == t[n - cnt - 1]) break;
    }
    ans.push_back(n);
    for (int j = 0; j < n / 2; j++) swap(s[j], s[n - j - 1]);
    s = s.substr(n - i, i) + s.substr(0, n - i);
    for (int j = 0; j < i / 2; j++) swap(s[j], s[i - j - 1]);
    s = s.substr(n - 1, 1) + s.substr(0, n - 1);
    ans.push_back(i);
    ans.push_back(1);
    cnt++;
  }
  cout << ans.size() << endl;
  for (int i = 0; i < (int)ans.size(); i++) cout << ans[i] << " ";
  return 0;
}
