//Author: kaiyu
#include <iostream>
#include <algorithm>
#include <cmath>
#include <map>
#include <vector>
#include <set>
#include <unordered_map>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <numeric>
#include <iomanip>
using namespace std;
typedef long long ll;
#define sz(x) ((long long)(x).size())
#define all(x)  x.begin(),x.end()
#define ff first
#define ss second
#define mp make_pair
#define pb push_back
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define vi vector<ll>
#define vvi vector<vector<ll>>
#define pii pair<int,int>
#define endl "\n"
#define tt ll tc;cin >> tc;while(tc--)
#define int3(x,y,z) ll x,y,z;cin >> x >> y >> z;
#define int2(x,y) ll x,y;cin >> x >>y;
#define int1(x) ll x;cin>>x;
#define  fio ios::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
ll gcd(ll a,ll b) { return b?gcd(b,a%b):a;}
bool cm(pair<string,int>p1,pair<string,int>p2) {
    return p1.ss > p2.ss;
}
#define int long long

int par[100005],n,m;

int find(int a) {
    if(par[a] < 0) {
        return a;
    }
    else return par[a] = find((par[a]));
}

void xunion(int a, int b) {

    par[a] = min(par[a],par[b]);
    par[b] = a;
}
int32_t main() {
    int r;
    cin >> r;

    double x = 2 * r *  3.141592653589793238;
    cout << x << endl;
        return 0;
}


