#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<map>
#include<set>
#include<cmath>
#include<cstdlib>
#include<cassert>

#define REP(i, b, n) for(int i =b; i<(int) n; i++)
#define rep(i, n) REP(i, 0, n)
#define FOR(it, o) for(__typeof((o).begin()) it = (o).begin(); it != (o).end(); ++it)

using namespace std;

enum{
  H = 501, N = 101, KK = 101
};

int h, n, p, m, K;
double dp[H][N][KK];
bool usedHeight[H], canMove[H][N];
int atl[H];
double solve(int cnt){
  rep(i, H)rep(j, N)rep(k, KK)dp[i][j][k] = 0;
  dp[h][p-1][0] = 1;
  for(int i = h; i>0; i--){
    rep(j, n){
      rep(k, K+1){
        //cout << i << ' ' << j << ' ' << k << ' ' << dp[i][j][k]<< endl;;
        if(canMove[i][j-1]){
          dp[i-1][j-1][k] += dp[i][j][k];
        }
        else if(canMove[i][j]){
          dp[i-1][j+1][k] += dp[i][j][k];
        }
        else if(!usedHeight[i] && k < K){
          int tmp=n-1;
          if(j > 0){//left
            dp[i-1][j-1][k+1] += dp[i][j][k]; 
            tmp--;
          }
          if(j < n-1){//right
            dp[i-1][j+1][k+1] += dp[i][j][k];
            tmp--;
          }
          
          //mid
          //dp[i-1][j][k] += dp[i][j][k] * remain;
          //if (k+i-1 >= K){

          if (k+atl[i] > K){
            dp[i-1][j][k+1]+=dp[i][j][k]*tmp;
            dp[i-1][j][k]  +=dp[i][j][k];// * remain;
          }else {
            dp[i-1][j][k+1]+=dp[i][j][k]*tmp;
          }
        }
        else {
          dp[i-1][j][k] += dp[i][j][k];
        }
      }
    }       
  }
  double ret = 0,sum=0;
  rep(i, n){
    ret = max(ret, dp[0][i][K]);
    sum+=dp[0][i][K];
  }
  //cout << endl;
  //cout <<"proba sum " <<  sum << endl;
  return ret/sum;
}

int main(){
  while(cin >> h >> n >> p >> m >> K){
    rep(i, H+1){
      usedHeight[i] = false;
      rep(j, N){
        canMove[i][j] = false;
      }
    }
    rep(i, m){
      int a, b;
      cin >> a >> b;
      canMove[a][b-1] = true;
      usedHeight[a] = true;
    }
    rep(i,H+1)atl[i]=0;
    REP(i,1,H+1){
      atl[i]+=atl[i-1];
      if (!usedHeight[i])atl[i]++;
    }

    int cnt = (h - m ) * (n-1);
    printf("%.10f\n", solve(cnt));
  }

}