#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
#define R register
#define eps 1e-12
#define INF (1<<30)
#define LL long long
#define MM(x, y) memset(x, y, sizeof x)
#define Fo(i, x, y) for(R int i=x; i<=y; ++i)
#define Ro(i, x, y) for(R int i=x; i>=y; --i)
using namespace std;
template<typename T> inline T Max(R T x, R T y) {return x > y ? x : y;}
template<typename T> inline T Min(R T x, R T y) {return x < y ? x : y;}
template<typename T> inline void in(R T &x)
{
static int ch; static bool flag;
for(flag=false, ch=getchar(); ch<'0'||ch>'9'; ch=getchar()) flag |= ch=='-';
for(x=0; ch>='0'&&ch<='9'; ch=getchar()) x = (x<<1) + (x<<3) + ch - '0';
x = flag ? -x : x;
}
/*******************************Samle****************************************/
int n;
double ans, A[5050005];
int main()
{
in(n);
Fo(i, 1, n)
{
R double now = 0;
R int from = Max(i-850, 1);
Fo(j, from, i-1)
{
R double p = (A[j] + now) * 0.5;
A[j] = now = p;
}
A[i] = 100;
ans += (4200 * (100 - now)) / (1.0 * n);
}
printf("%.2lf\n", ans);
return 0;
}