#include <bits/stdc++.h>
using namespace std;
double dp[2005][2005];
bool checkr[2005], checkc[2005];
int first1, second1;
int main() {
  int t, m;
  cin >> t >> m;
  first1 = second1 = t;
  for (int i = 1; i <= m; i++) {
    int first, second;
    cin >> first >> second;
    if (!checkr[first]) --first1;
    if (!checkc[second]) --second1;
    checkr[first] = checkc[second] = true;
  }
  for (int i = 1; i <= t; i++) dp[i][0] = dp[i - 1][0] + (double)t / i;
  for (int i = 1; i <= t; i++) dp[0][i] = dp[0][i - 1] + (double)t / i;
  for (int i = 1; i <= t; i++) {
    for (int j = 1; j <= t; j++) {
      double &temp = dp[i][j];
      temp = (i * j * dp[i - 1][j - 1]) + ((t - i) * j * dp[i][j - 1]) +
             (i * (t - j) * dp[i - 1][j]);
      temp /= t * t;
      temp = temp + 1;
      temp /= (1. - (double)(t - i) * (t - j) / (t * t));
    }
  }
  cout << dp[first1][second1] << endl;
}
