#include <bits/stdc++.h>
using namespace std;
typedef complex<double> Point;
typedef pair<Point, Point> Line;
typedef vector<Point> Poly; 
const double EPS = 1e-10;

// 外積、符号付面積の２倍　|a||b|sinθ
double cross(Point a, Point b){
	// return a.real() * b.imag() - a.imag() * b.real();
	return (conj(a) * b).imag();
}
// 多角形の面積 = 任意の点pから隣接する2点へのベクトルの外積の総和/2
double poly_area(Poly p){
    if(p.size() < 3) return 0.0;
    double res = cross(p[p.size() - 1], p[0]);
    for(int i = 0; i < p.size() - 1; i++){
        res += cross(p[i], p[i + 1]);
    }
    return res / 2.0;
}

int main(){
    int n;
    cin >> n;
    Poly pl(n);
    for(int i = 0; i < n; i++){
        double x, y;
        cin >> x >> y;
        pl[i] = {x, y};
    }
    printf("%.1f\n", poly_area(pl));
}
