#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[311111];
ll sum[311111];
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		double ans = 0;
		for(int i = 1 ; i <= n ; i++){
			ans += (1.0/i)*n;
		}
		printf("%.6f\n",ans-1);
	}
	return 0;
}
#ifdef __LOCAL
  #define _GLIBCXX_DEBUG
#endif
#include <bits/stdc++.h>
using namespace std;
template<typename T> bool chmax(T &a,T b) {if(a<b) {a=b; return true;} return false;}
template<typename T> bool chmin(T &a,T b) {if(a>b) {a=b; return true;} return false;}
#define itn int
#define fi first
#define se second
#define intmax numeric_limits<int>::max()
#define llmax numeric_limits<ll>::max()
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep1(i,n) for(int i=1;i<=(int)(n);i++)
#define rrep(i,n) for(int i=(int)(n)-1;i>=0;i--)
#define rrep1(i,n) for(int i=(int)(n);i>=1;i--)
#define all(vec) vec.begin(),vec.end()
#define fsort(vec) sort((vec).begin(),(vec).end())
#define rsort(vec) sort((vec).rbegin(), (vec).rend())
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pll;
typedef pair<int,int> pii;
typedef tuple<ll,ll,ll> tlll;
typedef tuple<int,int,int> tiii;
const ll mod=1e9+7;
const int inf=1<<30;
const ll lnf=1ll<<60;

int main(){
  cout << fixed << setprecision(15);
  ll n; cin >> n;
  ld ans=0;
  rep1(i,n-1){
    ans+=(ld)n/i;
  }
  cout << ans << endl;
}