#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
template <class T>
struct Edge {
  int to;
  T cost;
  Edge(){};
  Edge(int to, T cost) : to(to), cost(cost){};
};
template <class T>
class Graph {
  int n;
  bool directed;
  vector<vector<Edge<T>>> edges;

 public:
  Graph(int n, bool directed)
      : n(n), directed(directed), edges(vector<vector<Edge<T>>>(n)){};
  Graph(){};
  void add(int to, T cost) { emplace_back(to, cost); }
  int size() { return n; }
};
int main() {
  double R;
  cin >> R;
  cout << fixed << setprecision(15) << R * 2.0 * 3.141592653589793238 << endl;
  return 0;
}
