import java.util.*;
import java.io.*;
import static java.lang.Math.*;

class Main {
    FastIO sc;
    int n;
    int[] dp;
    int M = 1000000007;

    void solve() throws Exception {
        int n = sc.nextInt();
        System.out.println(2*Math.PI*n);
    }

    void run() {
        try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        }
    }

    public static void main(String[] args) {
        try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        }
        new Main().run();
    }

    class FastIO extends PrintWriter {
        private BufferedReader in;
        private StringTokenizer stok;

        FastIO() {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        }

        FastIO(String s) throws FileNotFoundException {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        }

        @Override
        public void close() {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        }

        String next() {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        }

        char[] nextCharArray() {
            return next().toCharArray();
        }
    }

    class Pair {
        int mon, fac;

        Pair(int mon, int fac) {
            this.mon = mon;
            this.fac = fac;
        }
    }

    void randomShuffle(int[] a) {
        Random random = new Random();
        for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        }
    }

    static boolean even(int n) {
        int r = n & 1;
        return r != 1 ? true : false;
    }
} import java.util.*; util.* java import java.io.*; io.* java import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.Math.*; class Main {
    FastIO sc;
    int n;
    int[] dp;
    int M = 1000000007;

    void solve() throws Exception {
        int n = sc.nextInt();
        System.out.println(2*Math.PI*n);
    }

    void run() {
        try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        }
    }

    public static void main(String[] args) {
        try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        }
        new Main().run();
    }

    class FastIO extends PrintWriter {
        private BufferedReader in;
        private StringTokenizer stok;

        FastIO() {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        }

        FastIO(String s) throws FileNotFoundException {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        }

        @Override
        public void close() {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        }

        String next() {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        }

        char[] nextCharArray() {
            return next().toCharArray();
        }
    }

    class Pair {
        int mon, fac;

        Pair(int mon, int fac) {
            this.mon = mon;
            this.fac = fac;
        }
    }

    void randomShuffle(int[] a) {
        Random random = new Random();
        for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        }
    }

    static boolean even(int n) {
        int r = n & 1;
        return r != 1 ? true : false;
    }
} Main FastIO sc; sc int n; n int[] dp; dp int M = 1000000007; M 1000000007 void solve() throws Exception {
        int n = sc.nextInt();
        System.out.println(2*Math.PI*n);
    } solve {
        int n = sc.nextInt();
        System.out.println(2*Math.PI*n);
    } int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc System.out.println(2*Math.PI*n) System.out.println System.out System System.out 2*Math.PI*n 2*Math.PI*n 2 Math.PI Math Math.PI n void run() {
        try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        }
    } run {
        try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        }
    } try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        } Exception e {
            e.printStackTrace();
            System.exit(abs(-1));
        } e.printStackTrace() e.printStackTrace e System.exit(abs(-1)) System.exit System abs(-1) abs -1 1 {
            sc = new FastIO();
            solve();
            sc.close();
        } sc = new FastIO() sc new FastIO() solve() solve sc.close() sc.close sc public static void main(String[] args) {
        try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        }
        new Main().run();
    } main {
        try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        }
        new Main().run();
    } try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        } catch (Exception ignore) {
        } Exception ignore {
        } {
            Locale.setDefault(Locale.US);
        } Locale.setDefault(Locale.US) Locale.setDefault Locale Locale.US Locale Locale.US new Main().run() new Main().run new Main() String[] args args void randomShuffle(int[] a) {
        Random random = new Random();
        for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        }
    } randomShuffle {
        Random random = new Random();
        for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        }
    } Random random = new Random(); random new Random() for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        } int i = 1; int i = 1; i 1 i < a.length i a.length a a.length i++ i++ i {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        } {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        } int x = random.nextInt(i + 1); x random.nextInt(i + 1) random.nextInt random i + 1 i 1 int xchg = a[i]; xchg a[i] a i a[i] = a[x] a[i] a i a[x] a x a[x] = xchg a[x] a x xchg int[] a a static boolean even(int n) {
        int r = n & 1;
        return r != 1 ? true : false;
    } even {
        int r = n & 1;
        return r != 1 ? true : false;
    } int r = n & 1; r n & 1 n 1 return r != 1 ? true : false; r != 1 ? true : false r != 1 r 1 true false int n n class FastIO extends PrintWriter {
        private BufferedReader in;
        private StringTokenizer stok;

        FastIO() {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        }

        FastIO(String s) throws FileNotFoundException {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        }

        @Override
        public void close() {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        }

        String next() {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        }

        char[] nextCharArray() {
            return next().toCharArray();
        }
    } FastIO private BufferedReader in; in private StringTokenizer stok; stok FastIO() {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        } FastIO {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        } super(System.out) super System.out System System.out in = new BufferedReader(new InputStreamReader(System.in)) in new BufferedReader(new InputStreamReader(System.in)) FastIO(String s) throws FileNotFoundException {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        } FastIO {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        } super("".equals(s) ? "output.txt" : s + ".out") super "".equals(s) ? "output.txt" : s + ".out" "".equals(s) "".equals "" s "output.txt" s + ".out" s ".out" in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in")) in new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in")) String s s @Override
        public void close() {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        } close {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        } super.close() super.close super try {
                in.close();
            } catch (IOException ignored) {
            } catch (IOException ignored) {
            } IOException ignored {
            } {
                in.close();
            } in.close() in.close in String next() {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        } next {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        } while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            } stok == null || !stok.hasMoreTokens() stok == null stok null !stok.hasMoreTokens() stok.hasMoreTokens() stok.hasMoreTokens stok {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            } try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                } catch (Exception e) {
                    return null;
                } Exception e {
                    return null;
                } return null; null {
                    stok = new StringTokenizer(in.readLine());
                } stok = new StringTokenizer(in.readLine()) stok new StringTokenizer(in.readLine()) return stok.nextToken(); stok.nextToken() stok.nextToken stok int nextInt() {
            return Integer.parseInt(next());
        } nextInt {
            return Integer.parseInt(next());
        } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nextLong() {
            return Long.parseLong(next());
        } nextLong {
            return Long.parseLong(next());
        } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next double nextDouble() {
            return Double.parseDouble(next());
        } nextDouble {
            return Double.parseDouble(next());
        } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next String nextLine() {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        } nextLine {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        } try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            } catch (IOException e) {
                return null;
            } IOException e {
                return null;
            } return null; null {
                return in.readLine();
            } return in.readLine(); in.readLine() in.readLine in char[] nextCharArray() {
            return next().toCharArray();
        } nextCharArray {
            return next().toCharArray();
        } return next().toCharArray(); next().toCharArray() next().toCharArray next() next PrintWriter class Pair {
        int mon, fac;

        Pair(int mon, int fac) {
            this.mon = mon;
            this.fac = fac;
        }
    } Pair int mon mon fac; fac Pair(int mon, int fac) {
            this.mon = mon;
            this.fac = fac;
        } Pair {
            this.mon = mon;
            this.fac = fac;
        } this.mon = mon this.mon this this.mon mon this.fac = fac this.fac this this.fac fac int mon mon int fac fac
import java.util.*;
import java.io.*;
import static java.lang.Math.*;

class Main {
    FastIO sc;
    int n;
    int[] dp;
    int M = 1000000007;

    void solve() throws Exception {
        int n = sc.nextInt();
        System.out.println(2*Math.PI*n);
    }

    void run() {
        try {
            sc = new FastIO();
            solve();
            sc.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(abs(-1));
        }
    }

    public static void main(String[] args) {
        try {
            Locale.setDefault(Locale.US);
        } catch (Exception ignore) {
        }
        new Main().run();
    }

    class FastIO extends PrintWriter {
        private BufferedReader in;
        private StringTokenizer stok;

        FastIO() {
            super(System.out);
            in = new BufferedReader(new InputStreamReader(System.in));
        }

        FastIO(String s) throws FileNotFoundException {
            super("".equals(s) ? "output.txt" : s + ".out");
            in = new BufferedReader(new FileReader("".equals(s) ? "input.txt" : s + ".in"));
        }

        @Override
        public void close() {
            super.close();
            try {
                in.close();
            } catch (IOException ignored) {
            }
        }

        String next() {
            while (stok == null || !stok.hasMoreTokens()) {
                try {
                    stok = new StringTokenizer(in.readLine());
                } catch (Exception e) {
                    return null;
                }
            }
            return stok.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            try {
                return in.readLine();
            } catch (IOException e) {
                return null;
            }
        }

        char[] nextCharArray() {
            return next().toCharArray();
        }
    }

    class Pair {
        int mon, fac;

        Pair(int mon, int fac) {
            this.mon = mon;
            this.fac = fac;
        }
    }

    void randomShuffle(int[] a) {
        Random random = new Random();
        for (int i = 1; i < a.length; i++) {
            int x = random.nextInt(i + 1);
            int xchg = a[i];
            a[i] = a[x];
            a[x] = xchg;
        }
    }

    static boolean even(int n) {
        int r = n & 1;
        return r != 1 ? true : false;
    }
}