Problem:
Area

For a given polygon g, computes the area of the polygon.

g is represented by a sequence of points p1, p2,..., pn where line segments connecting pi and pi+1 (1 ≤ i ≤ n-1) are sides of g. The line segment connecting pn and p1 is also a side of the polygon.

Note that the polygon is not necessarily convex.

Input

The input consists of coordinates of the points p1,..., pn in the following format:

n
x1 y1
x2 y2
:
xn yn

The first integer n is the number of points. The coordinate of a point pi is given by two integers xi and yi. The coordinates of points are given in the order of counter-clockwise visit of them.

Output

Print the area of the polygon in a line. The area should be printed with one digit to the right of the decimal point.

Constraints

3 ≤ n ≤ 100

-10000 ≤ xi, yi ≤ 10000

No point will occur more than once.

Two sides can intersect only at a common endpoint.

Sample Input 1

3
0 0
2 2
-1 1

Sample Output 1

2.0

Sample Input 2

4
0 0
1 1
1 2
0 2

Sample Output 2

1.5

Solution in Scala (judge verdict: Accepted)

import scala.io.StdIn._

import Math._
object Main extends App {
  val eps0 = 1e-12

  val q = readLine.toInt

  val xs = new Array[Int](q)
  val ys = new Array[Int](q)
  for (i <- 0 until q) {
    val Seq(x, y) = readLine.split(' ').map(_.toInt).toList
    xs(i) = x
    ys(i) = y
  }

  val subarea = for (i <- 2 until q) yield {
    val xs1 = xs(i-1) - xs(0)
    val ys1 = ys(i-1) - ys(0)
    val xs2 = xs(i) - xs(0)
    val ys2 = ys(i) - ys(0)

    xs1 * ys2 - ys1 * xs2
  }

  println("%.1f".format(subarea.sum.toDouble / 2))
}