#include <bits/stdc++.h>
using namespace std;
const int maxn = 2333;
int n, m, p, q, r[maxn], c[maxn];
double dp[maxn][maxn];
int main() {
  cin >> n >> m, p = q = n;
  for (int i = 1; i <= m; i++) {
    int u, v;
    cin >> u >> v;
    if (!r[u]) p--, r[u] = 1;
    if (!c[v]) q--, c[v] = 1;
  }
  for (int i = 1; i <= n; i++) dp[0][i] = dp[i][0] = dp[i - 1][0] + n * 1.0 / i;
  for (int i = 1; i <= p; i++)
    for (int j = 1; j <= q; j++)
      dp[i][j] = (n * n + dp[i - 1][j] * i * (n - j) +
                  dp[i][j - 1] * (n - i) * j + dp[i - 1][j - 1] * i * j) *
                 1.0 / (i * n + j * n - i * j);
  printf("%.10f", dp[p][q]);
  return 0;
}
