import java.io.*; import java.util.*; import static java.awt.geom.Point2D.Double; public class MaartenScanner { public static void main(String[] args) throws IOException { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { new MaartenScanner().run(new Scanner(reader)); } } public void run(Scanner sc) throws IOException { int n = sc.nextInt(); Double[] points = new Double[n]; for (int i = 0; i < n; i++) { points[i] = new Double(sc.nextDouble(), sc.nextDouble()); } double A = 0; for (int i = 0; i < n - 1; i++) { A += (points[i + 1].x - points[i].x) * (points[i].y + points[i + 1].y) / 2; } double ans = Math.sqrt(3) / 4; if (n > 2) { double ratio = 0; for (int i = 0; i < n - 1; i++) { ratio += Math.pow(points[i + 1].x - points[i].x, 2) + Math.pow(points[i + 1].y - points[i].y, 2); } ans += 3 * A / (1 - ratio); } System.out.println(ans); } }