#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m, k;
    while(cin >> n >> m >> k){
        vector<vector<int>> st(n + 2, vector<int>(m + 2));
        vector<vector<double>> dp(n + 2, vector<double>(m + 2));
        while(k --){
            int x, y;
            cin >> x >> y;
            st[x][y] = 1;
        }
        for(int i = 1 ; i <= n ; i ++){
            st[i][m + 1] = 1;
        }
        for(int i = 1 ; i <= m ; i ++){
            st[n + 1][i] = 1;
        }
        dp[1][1] = 1;
        for(int i = 1 ; i <= n ; i ++){
            for(int j = 1 ; j <= m ; j ++){
                if(st[i][j]){
                    dp[i][j] = 0;
                    continue;
                }
                dp[i][j + 1] += dp[i][j] / (i + 1 > n ? 1 : 2);
                dp[i + 1][j] += dp[i][j] / (j + 1 > m ? 1 : 2); 
                
            }
        }
        printf("%.2lf\n", dp[n][m]);
    }
}
// 64 位输出请用 printf("%lld")