#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back
#define fi first
#define se second
typedef pair<ll,ll> P;
using VP = vector<P>; using VVP = vector<VP>;
using VI = vector<ll>; using VVI = vector<VI>; using VVVI = vector<VVI>;
const int inf=1e9+7;
const ll INF=1LL<<61;
const ll mod=1e9+7;

template<class T>
inline bool chmax(T &a, T b) {
    if(a < b) {
        a = b;
        return true;
    }
    return false;
}

template<class T>
inline bool chmin(T &a, T b) {
    if(a > b) {
        a = b;
        return true;
    }
    return false;
}

VI ans;

void calc(int s,int t){
    for(int i=0;i<10101;i++){
        ans[i]+=s/t;
        int u=i;
        while(ans[u]>=10) {
            ans[u-1]+=1;
            ans[u]-=10;
            u--;
        }
        s%=t;
        s*=10;
        if(s==0) return;
    }
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int i,j;
    int n,k,m,r;
    while(1){
    cin>>n>>k>>m>>r;
    if(n==0) break;
    ans = VI(10101);
    if(m==0) {
       calc(1,n);
    }
    else {
       calc(1,n);
       for(i=1;i<n;i++) calc(1,n*i);
    }
    //if(n==1) ans=1.0;
    //if(n==2&&m==1) ans=1.0;
    //if(k==1) ans=0;
    cout<<ans[0]<<".";
    for(i=1;i<=r;i++){
        cout<<ans[i];
    }
    cout<<endl;
    }
}
