//  Created by sun-yryr
//

import Foundation

prefix operator *
prefix func * <T> (a: [T]) -> (T, T) {return (a[0], a[1])}
prefix func * <T> (a: [T]) -> (T, T, T) {return (a[0], a[1], a[2])}

func readInt(separator s: Character = " ") -> [Int] {return readLine()!.split(separator: s).map(){Int()!}}
func readDouble(separator s: Character = " ") -> [Double] {return readLine()!.split(separator: s).map(){Double()!}}
func readElement(separator s: Character = " ") -> [String] {return readLine()!.split(separator: s).map(){String()}}

extension String {
    func at(_ i: Int) -> Character {
        precondition(0 <= i && i < self.count)
        return self[self.index(self.startIndex, offsetBy: i)]
    }
}

func main() {
    let R = Int(readLine()!)!
    print(Double.pi * Double(R) * Double(R))
}

main()
