#include <bits/stdc++.h>
bool DBG = false;
using namespace std;
using ll = long long;
using ld = long double;
template <typename T>
std::istream &operator>>(std::istream &is, std::vector<T> &vec) {
  for (auto &v : vec) is >> v;
  return is;
}
template <typename T1, typename T2>
std::istream &operator>>(std::istream &is, std::pair<T1, T2> &p) {
  is >> p.first >> p.second;
  return is;
}
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::vector<T> &vec) {
  os << "[";
  for (auto v : vec) os << v << ",";
  os << "]";
  return os;
}
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::deque<T> &vec) {
  os << "deque[";
  for (auto v : vec) os << v << ",";
  os << "]";
  return os;
}
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::set<T> &vec) {
  os << "{";
  for (auto v : vec) os << v << ",";
  os << "}";
  return os;
}
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::unordered_set<T> &vec) {
  os << "{";
  for (auto v : vec) os << v << ",";
  os << "}";
  return os;
}
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::multiset<T> &vec) {
  os << "{";
  for (auto v : vec) os << v << ",";
  os << "}";
  return os;
}
template <typename T>
std::ostream &operator<<(std::ostream &os,
                         const std::unordered_multiset<T> &vec) {
  os << "{";
  for (auto v : vec) os << v << ",";
  os << "}";
  return os;
}
template <typename T1, typename T2>
std::ostream &operator<<(std::ostream &os, const std::pair<T1, T2> &pa) {
  os << "(" << pa.first << "," << pa.second << ")";
  return os;
}
template <typename TK, typename TV>
std::ostream &operator<<(std::ostream &os, const std::map<TK, TV> &mp) {
  os << "{";
  for (auto v : mp) os << v.first << "=>" << v.second << ",";
  os << "}";
  return os;
}
template <typename TK, typename TV>
std::ostream &operator<<(std::ostream &os,
                         const std::unordered_map<TK, TV> &mp) {
  os << "{";
  for (auto v : mp) os << v.first << "=>" << v.second << ",";
  os << "}";
  return os;
}
template <class T>
using V = vector<T>;
template <class T>
using V2 = V<V<T>>;
template <class T>
using V3 = V<V2<T>>;
void solve() {
  int r;
  cin >> r;
  cout << (2 * acos(-1.0) * r) << (" ");
}
void solveb() {}
void solvec() {}
void solved() {}
int main(void) {
  std::cout << std::fixed << std::setprecision(20);
  cin.tie(0);
  ios::sync_with_stdio(false);
  solve();
  return 0;
}
