/*
 * @Author: RBQRBQ
 * @Date: 2020-11-16 10:14:40
 * @LastEditors: RBQRBQ
 * @LastEditTime: 2020-11-16 10:36:16
 */
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> VI;
typedef pair<int,int> pii;
namespace IO{
    template<typename T>inline void read(T &x){
        x=0;ll f=1;char ch=getchar();
        while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();}
        while(isdigit(ch)){x=x*10+ch-48;ch=getchar();}
        x=x*f;
    }
}
using namespace IO;

const  int maxn (200);
string s[maxn];
double point[maxn];
int mp[maxn][maxn];
int dp[maxn][maxn];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
        s[i]=" "+s[i];
    }
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
    if(s[i][j]=='1') mp[i][j]=1;
    for(int i=1;i<=n;i++) mp[i][i]=1;
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                mp[i][j]=mp[i][j]|(mp[i][k]&mp[k][j]);
    double ans=.0;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
    point[i]+=mp[j][i];
    for(int i=1;i<=n;i++){
    ans+=(double)(1.0)/(double)(point[i]);}
    cout<<fixed<<setprecision(10);
    cout<<ans;
    return 0;
}
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using ii = pair<int,int>;

#define ff first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()

const int mod = 1e9+7;
const int inf = 1e9;
const int mx  = 1e6+5;

int getsolve(int x){

    int ans = 0;
    for(int i=-200; i<=x; i++){
        int sum = 0;
        for(int j=i; j<=x; j++){
            sum += j;
            if(sum >= x) break;
        }ans += (sum == x);
    }return ans;
}

int add(ll x){
    if(x&1) return 1;
    return 0;
}

void solve(int cs){
//    cout << "Case " << cs << ": ";
    ll x; cin >> x; ll ans = 0;
    for(int i=1; i*1LL*i<=x; i++){
        if(x%i) continue;
        ans += add(i);
        if(i != (x/i))
            ans += add(x/i);
    }ans <<= 1;
    cout << ans << "\n";
}

int main(){

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);

    int tc = 1, cs = 1;
//    cin >> tc;
    while(tc--) solve(cs++);

    return 0;
}

