#include <bits/stdc++.h>
using namespace std;
long long x1[300000][27], x2[300000][27], yy1[300000][27], yy2[300000][27];
char str1[300000], str2[300000];
int main() {
  int N;
  scanf("%d", &N);
  scanf("%s%s", str1, str2);
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < 26; j++) {
      x1[i + 1][j] = x1[i][j];
      x2[i + 1][j] = x2[i][j];
    }
    x1[i + 1][str1[i] - 65] += i + 1;
    x2[i + 1][str2[i] - 65] += i + 1;
  }
  for (int i = N - 1; i >= 0; i--) {
    for (int j = 0; j < 26; j++) {
      yy1[i + 1][j] = yy1[i + 2][j];
      yy2[i + 1][j] = yy2[i + 2][j];
    }
    yy1[i + 1][str1[i] - 65] += N - i;
    yy2[i + 1][str2[i] - 65] += N - i;
  }
  long long n = N;
  long long K = (n * (n + 1) * (2 * n + 1)) / 6;
  double ans = 0.0;
  for (int i = 0; i < N; i++) {
    ans += ((i + 1) * yy2[i + 2][str1[i] - 65]) / (double)K;
    ans += ((N - i) * x2[i + 1][str1[i] - 65]) / (double)K;
  }
  printf("%.9lf\n", ans);
  return 0;
}
