package EAREA
fun main(args: Array<String>) {
if(args.isNotEmpty()) {
System.setIn(java.io.FileInputStream(args[0]))
}
if(args.size >= 2) {
System.setOut(java.io.PrintStream(args[1]))
}
val N = readLine()!!.toInt()
require(N in 1..100000)
data class Point(val x: Long, val y: Long)
val points = List(N) {
val (x, y) = readLine()!!.split(" ").map{ it.toLong() }
require
(abs(x
) <= 10000000) require
(abs(y
) <= 10000000) Point(x, y)
}
fun expectedAreaTimes8(a: Point, b: Point, c: Point, d: Point, e: Point, f: Point): Long {
return c.x * a.y * -1 + c.x * b.y * -1 + c.y * a.x * 1 + c.y * b.x * 1 + d.x * a.y * -1 + d.x * b.y * -1 + d.y * a.x * 1 + d.y * b.x * 1 + e.x * a.y * 1 + e.x * b.y * 1 + e.x * c.y * -1 + e.x * d.y * -1 + e.y * a.x * -1 + e.y * b.x * -1 + e.y * c.x * 1 + e.y * d.x * 1 + f.x * a.y * 1 + f.x * b.y * 1 + f.x * c.y * -1 + f.x * d.y * -1 + f.y * a.x * -1 + f.y * b.x * -1 + f.y * c.x * 1 + f.y * d.x * 1
}
val ansTimesEight = (1 until N-1).map { i -> expectedAreaTimes8(points[0], points[1], points[i], points[i+1], points[i+1], points[(i+2)%N]) }.sum()
print(ansTimesEight / 8)
print(".")
println(ansTimesEight % 8 * 125)
require(readLine() == null)
}
cGFja2FnZSBFQVJFQQoKaW1wb3J0IGtvdGxpbi5tYXRoLmFicwoKZnVuIG1haW4oYXJnczogQXJyYXk8U3RyaW5nPikgewogICAgaWYoYXJncy5pc05vdEVtcHR5KCkpIHsKICAgICAgICBTeXN0ZW0uc2V0SW4oamF2YS5pby5GaWxlSW5wdXRTdHJlYW0oYXJnc1swXSkpCiAgICB9CiAgICBpZihhcmdzLnNpemUgPj0gMikgewogICAgICAgIFN5c3RlbS5zZXRPdXQoamF2YS5pby5QcmludFN0cmVhbShhcmdzWzFdKSkKICAgIH0KCiAgICB2YWwgTiA9IHJlYWRMaW5lKCkhIS50b0ludCgpCiAgICByZXF1aXJlKE4gaW4gMS4uMTAwMDAwKQoKICAgIGRhdGEgY2xhc3MgUG9pbnQodmFsIHg6IExvbmcsIHZhbCB5OiBMb25nKQogICAgdmFsIHBvaW50cyA9IExpc3QoTikgewogICAgICAgIHZhbCAoeCwgeSkgPSByZWFkTGluZSgpISEuc3BsaXQoIiAiKS5tYXB7IGl0LnRvTG9uZygpIH0KICAgICAgICByZXF1aXJlKGFicyh4KSA8PSAxMDAwMDAwMCkKICAgICAgICByZXF1aXJlKGFicyh5KSA8PSAxMDAwMDAwMCkKICAgICAgICBQb2ludCh4LCB5KQogICAgfQoKICAgIGZ1biBleHBlY3RlZEFyZWFUaW1lczgoYTogUG9pbnQsIGI6IFBvaW50LCBjOiBQb2ludCwgZDogUG9pbnQsIGU6IFBvaW50LCBmOiBQb2ludCk6IExvbmcgewogICAgICAgIHJldHVybiBjLnggKiBhLnkgKiAtMSArIGMueCAqIGIueSAqIC0xICsgYy55ICogYS54ICogMSArIGMueSAqIGIueCAqIDEgKyBkLnggKiBhLnkgKiAtMSArIGQueCAqIGIueSAqIC0xICsgZC55ICogYS54ICogMSArIGQueSAqIGIueCAqIDEgKyBlLnggKiBhLnkgKiAxICsgZS54ICogYi55ICogMSArIGUueCAqIGMueSAqIC0xICsgZS54ICogZC55ICogLTEgKyBlLnkgKiBhLnggKiAtMSArIGUueSAqIGIueCAqIC0xICsgZS55ICogYy54ICogMSArIGUueSAqIGQueCAqIDEgKyBmLnggKiBhLnkgKiAxICsgZi54ICogYi55ICogMSArIGYueCAqIGMueSAqIC0xICsgZi54ICogZC55ICogLTEgKyBmLnkgKiBhLnggKiAtMSArIGYueSAqIGIueCAqIC0xICsgZi55ICogYy54ICogMSArIGYueSAqIGQueCAqIDEKICAgIH0KCiAgICB2YWwgYW5zVGltZXNFaWdodCA9ICgxIHVudGlsIE4tMSkubWFwIHsgaSAtPiBleHBlY3RlZEFyZWFUaW1lczgocG9pbnRzWzBdLCBwb2ludHNbMV0sIHBvaW50c1tpXSwgcG9pbnRzW2krMV0sIHBvaW50c1tpKzFdLCBwb2ludHNbKGkrMiklTl0pIH0uc3VtKCkKICAgIHByaW50KGFuc1RpbWVzRWlnaHQgLyA4KQogICAgcHJpbnQoIi4iKQogICAgcHJpbnRsbihhbnNUaW1lc0VpZ2h0ICUgOCAqIDEyNSkKCiAgICByZXF1aXJlKHJlYWRMaW5lKCkgPT0gbnVsbCkKfQ==