#include <bits/stdc++.h>
using namespace std;
int N, M;
double Table[2005][2005];
int R, C;
bool chkR[2005], chkC[2005];
int main() {
  ios::sync_with_stdio(0);
  cin >> N >> M;
  R = C = N;
  for (int i = 1; i <= M; i++) {
    int r, c;
    cin >> r >> c;
    if (!chkR[r]) --R;
    if (!chkC[c]) --C;
    chkR[r] = chkC[c] = true;
  }
  for (int i = 1; i <= N; i++) Table[i][0] = Table[i - 1][0] + double(N) / i;
  for (int j = 1; j <= N; j++) Table[0][j] = Table[0][j - 1] + double(N) / j;
  for (int i = 1; i <= N; i++) {
    for (int j = 1; j <= N; j++) {
      double& v = Table[i][j];
      v = (i * j * Table[i - 1][j - 1]) + ((N - i) * j * Table[i][j - 1]) +
          (i * (N - j) * Table[i - 1][j]);
      v /= N * N;
      v += 1;
      v /= (1.0 - double(N - i) * (N - j) / (N * N));
    }
  }
  cout << Table[R][C] << '\n';
  return 0;
}
