#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
typedef long long LL;
int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9') {if(ch=='-')w=-1;ch=getchar();}
	while(ch>='0'&&ch<='9') s=(s<<3)+(s<<1)+(ch^48),ch=getchar();
	return s*w;
}
int n;
double f[maxn];
signed main()
{
	n=read();
	for(int i=n-1;i;i--) f[i]=f[i+1]+1.*n/(n-i);
	cout<<fixed<<setprecision(10)<<f[1];
	return 0;
}
#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
typedef long long ll;

int main(){
    int n;cin>>n;
    double res = 0;
    
    for(int i=1;i<n;++i){
        double tmp = 1.0 * n / i;
        res += tmp;
    }
    
    cout<<setprecision(10)<<res<<endl;
}