static void dfs(int u){
        isVisited[u] = true;
        count++;
        if(count==s-k) return;
        int[] x = {1, 0, -1, 0};
        int[] y = {0, 1, 0, -1};
        int i = u/m;
        int j = u%m;
        for(int e=0; e<4; e++){
            if(i+x[e]>=0 && i+x[e]<n && j+y[e]>=0 && j+y[e]<m){
                int v = (i+x[e])*m + j+y[e];
                if(isEmpty[v] && !isVisited[v]){
                    dfs(v);
                    if(count==s-k) return;
                }
            }
        }
    }