#include <bits/stdc++.h>
using namespace std;
int n;
char su[2005], sv[2005];
vector<int> vec;
void shift(int x) {
  reverse(su + 1, su + 1 + n);
  if (x < n) reverse(su + 1 + x, su + 1 + n);
  vec.push_back(x);
}
int main() {
  cin >> n;
  scanf("%s", su + 1);
  scanf("%s", sv + 1);
  for (int i = 1; i <= n; i++) {
    int j = i;
    for (; j <= n; j++)
      if (su[j] == sv[n - i + 1]) break;
    if (j == n + 1) {
      printf("%d\n", -1);
      return 0;
    }
    shift(n);
    shift(j - 1);
    shift(1);
  }
  cout << vec.size() << endl;
  for (int i = 0; i < vec.size(); i++) cout << vec[i] << " ";
  cout << endl;
  return 0;
}
