import java.util.*;
import java.io.*;
public class E {
    void solve(BufferedReader in) throws Exception {
        int[] xx = toInts(in.readLine());
        int n = xx[0];
        double k = xx[1];
        int[][] board = new int[n][n];
        for(int i = 0; i<n; i++) board[i] = toInts(in.readLine());
        int fst = n/2;
        int snd = n - fst;
        int[] maxc = new int[1<<fst];
        int max = 1;
        for(int i = 0; i<(1<<fst); i++) {
            for(int j = 0; j<fst; j++) {
                if((i&1<<j) != 0) maxc[i] = Math.max(maxc[i], maxc[i^(1<<j)]);
            }
            boolean ok = true;
            for(int a = 0; a<fst; a++) if((i&1<<a) != 0) {
                for(int b = a+1; b<fst; b++) if((i&1<<b) != 0) {
                    if(board[a][b] == 0) ok = false;
                }
            }
            if(ok) {
                maxc[i] = Integer.bitCount(i);
                max = Math.max(max, maxc[i]);
            }
        }
        for(int i = 0; i<(1<<snd); i++) {
            boolean ok = true;
            for(int a = 0; a<snd; a++) if((i&1<<a) != 0) {
                for(int b = a+1; b<snd; b++) if((i&1<<b) != 0) {
                    if(board[a+fst][b+fst] == 0) ok = false;
                }
            }
            if(!ok) continue;
            int mask = 0;
            for(int a = 0; a<fst; a++) {
                ok = true;
                for(int b = 0; b<snd; b++) {
                    if((i&1<<b) != 0) {
                        if(board[a][b+fst] == 0) ok = false;
                    }
                }
                if(ok) mask |= (1<<a);
            }
            max = Math.max(Integer.bitCount(i) + maxc[mask], max);
        }
        System.out.println(k*k*(max-1.0)/(2*max));
    }
    int toInt(String s) {return Integer.parseInt(s);}
    int[] toInts(String s) {
        String[] a = s.split(" ");
        int[] o = new int[a.length];
        for(int i = 0; i<a.length; i++) o[i] = toInt(a[i]);
        return o;
    }
    void e(Object o) {
        System.err.println(o);
    }
    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        (new E()).solve(in);
    }
}
