既然逆序 所以是N - 1的状态
//MADE BY Y_is_sunshine;
//#include <bits/stdc++.h>
//#include <memory.h>
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <sstream>
#include <cstdio>
#include <vector>
#include <string>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#define INF 0x3f3f3f3f
#define MAXN 1005
const int mod = 1e9 + 7;
const double PI = acos(-1);
using namespace std;
int fly[100010];
double dp[100010];
int main()
{
freopen("data.txt", "r", stdin);
int N, M;
while (cin >> N >> M) {
if (!(N | M))
break;
memset(dp, 0, sizeof(dp));
memset(fly, -1, sizeof(fly));
while (M--) {
int a, b;
cin >> a >> b;
fly[a] = b;
}
for (int i = N - 1; i >= 0; i--) {
if (fly[i] != -1)
dp[i] += dp[fly[i]];
else {
for (int j = 1; j < 7; j++) {
dp[i] += dp[i + j] * 1.0 / 6 ;
}
dp[i]++;
}
}
printf("%.4lf\n", dp[0]);
}
freopen("CON", "r", stdin);
system("pause");
return 0;
}