#include <bits/stdc++.h>
using namespace std;
const int inf = 1 << 28;
const int mod = (int)1e9 + 7;
const double eps = 1e-8;
int n, m, k;
int row[2010], col[2010];
int cr, cc;
double dp[2010][2010];
int main() {
  while (scanf("%d%d", &n, &m) != EOF) {
    int x, y;
    for (int i = 1; i <= m; i++) {
      scanf("%d%d", &x, &y);
      row[x] = col[y] = 1;
    }
    for (int i = 1; i <= n; i++) {
      cr += row[i] == 1;
      cc += col[i] == 1;
    }
    memset(dp, 0, sizeof dp);
    double p1, p2, p3, p4;
    for (int i = n; i >= cr; i--)
      for (int j = n; j >= cc; j--) {
        if (n == i && n == j) continue;
        p1 = (n - i) * j;
        p2 = (n - i) * (n - j);
        p3 = i * (n - j);
        p4 = n * n - i * j;
        dp[i][j] = (p1 * dp[i + 1][j] + p2 * dp[i + 1][j + 1] +
                    p3 * dp[i][j + 1] + n * n) /
                   p4;
      }
    printf("%.10f\n", dp[cr][cc]);
  }
  return 0;
}
