#include using namespace std; typedef unsigned int uint; typedef long long int ll; typedef unsigned long long int ull; #define debugv(v) printf("L%d %s => ",__LINE__,#v);for(auto e:v){cout< ",__LINE__,#m);for(int x=0;x<(w);x++){cout<<(m)[x]<<" ";}cout<>=1,k++)s=(s<<1)|(u&1);for(;0>=1)cout<<(s&1);}} #define TIME chrono::system_clock::now() #define MILLISEC(t) (chrono::duration_cast(t).count()) namespace{ std::chrono::system_clock::time_point t; void tic(){t=TIME;} void toc(){fprintf(stderr,"TIME : %lldms\n",MILLISEC(TIME-t));} } template ostream& operator <<(ostream &o,const pair p){o<<"("< pair& operator+=(pair& p1,const pair& p2){p1.first+=p2.first;p1.second+=p2.second;return p1;} int width,height; int m,n,kei; double dfs(int x=0){ static map memo; if (kei<=x){ return 0; } if (memo.count(x)) return memo[x]; double p =1.0; for (int j=1;j<=6;++j){ p+=dfs(x+j)/6; } return memo[x]=p; } int main(){ int i,j,k; int x,y,a,b; cin >> kei; printf("%.10f\n",dfs()); return 0; }