// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) { //
int n = in.nextInt();
int m = in.nextInt();
int k = in.nextInt();
//创建草地
int[][] glass = new int[n+1][m+1];
//将蘑菇种到草地上
for(int i = 0; i < k; i++) {
int x = in.nextInt();
int y = in.nextInt();
glass[x][y] = 1;
}
//A在(1,1)开始 多加一行,一列
//设置A到B概率
double[][] prob = new double[n+1][m+1];
prob[1][1] = 1.0;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
if(!(i == 1 && j == 1)) {
//只会走(i,j+1)或(i+1,j)只往右边走,或下面走
//当前的的概率 = 左边走过来的 0.5+ 上边走过来的 0.5
//在边界上,则只有一种选择 1.0
prob[i][j] = prob[i-1][j] * (j==m?1.0:0.5) +
prob[i][j-1] * (i == n?1.0:0.5);
}
//在蘑菇上的概率 0.0
if(glass[i][j] == 1) {
prob[i][j] = 0.0;
}
}
}
System.out.printf("%.2f\n",prob[n][m]);
}
}
}