#include<cstdio>
#include<algorithm>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

int main(){
	int h,n,atari,m,k;
	scanf("%d%d%d%d%d",&h,&n,&atari,&m,&k); atari--;
	int bh[100],bx[100];
	rep(i,m) scanf("%d%d",bh+i,bx+i), bh[i]--, bx[i]--;

	int i_bar=m-1;
	static double dp[501][101][100];
	dp[h][0][atari]=1;
	for(int y=h-1;y>=0;y--){
		if(i_bar>=0 && bh[i_bar]==y){
			rep(i,k+1){
				rep(x,n) dp[y][i][x]=dp[y+1][i][x];
				swap(dp[y][i][bx[i_bar]],dp[y][i][bx[i_bar]+1]);
			}
			i_bar--;
		}
		else{
			rep(i,k+1){
				double p=(double)(k-i)/(y-i_bar);
				if(k-i>y-i_bar) continue;

				rep(x,n) dp[y][i][x]+=dp[y+1][i][x]*(1-p);

				rep(x,n){
					if(0<x){
						dp[y][i+1][x-1]+=dp[y+1][i][x]*p/(n-1);
					}
					if(x<n-1){
						dp[y][i+1][x+1]+=dp[y+1][i][x]*p/(n-1);
					}
					if(x==0 || x==n-1){
						dp[y][i+1][x]+=dp[y+1][i][x]*p*(n-2)/(n-1);
					}
					else{
						dp[y][i+1][x]+=dp[y+1][i][x]*p*(n-3)/(n-1);
					}
				}
			}
		}
	}

	printf("%.9f\n",*max_element(dp[0][k],dp[0][k]+n));

	return 0;
}