/// wa ^3^

#pragma GCC optimize("O3")

#include<bits/stdc++.h>

#define x first
#define y second
#define pb push_back
#define sz(x) (int) x.size()
 
using namespace std;

using ll = long long;
using pii = pair<int, int>;                                   

const int MOD = 1e9 + 7;
const int INF32 = 1e9 + 1e2;

template<typename T> istream 
&operator>>(istream &a, vector<T> &v) { 
for (auto& x : v) a >> x; return a; }

void stndrtn() {
#ifdef hitorie
    freopen(".in", "r", stdin);
#endif        
}

uniform_int_distribution<int> d(0, INF32);
mt19937 random;

int rnd(int x) {
    return d(random) % x;    
}

const bool flag = 0;

void maincode() {
    double r;
    cin >> r;
    cout << setprecision(10) << fixed << 2.0 * acos(-1) * r; 
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(nullptr), stndrtn();
    random.seed(chrono::system_clock::now().time_since_epoch().count());
    int ts = 1;
    if (flag) 
        cin >> ts;
    while (ts--)
        maincode(); 
    return 0;
}