#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;
using vvl = vector<vll>;
using pll = pair<ll,ll>;
using vpl = vector<pll>;
using vvp = vector<vpl>;
using vi = vector<int>;
#define f first
#define s second
#define pb push_back
#define all(v) v.begin(),v.end()
ll calc(vpl po){
ll ans = 0;
for(ll i = 0; i < po.size()-1; ++i){
ans += (po[i].f+po[i+1].f)*(po[i+1].s-po[i].s);
}
return abs(ans);
}
int draw_territory(int n, int a, int b, vi d, vi l) {
ll per=0;
vpl po={{0,0}};
for(ll i = 0; i < n; ++i){
pll nx = po.back();
per += l[i];
if(d[i]>3){d[i]-=3;l[i]=-l[i];}
if(d[i]!=3)nx.f+=l[i];
if(d[i]!=1)nx.s+=l[i];
po.pb(nx);
}
return a*(per+(calc(po)+2-per)/2);
}
// int main() {
// int N, A, B;
// assert(3 == scanf("%d %d %d", &N, &A, &B));
// vi D(N), L(N);
// for (int i = 0; i < N; ++i) {
// assert(2 == scanf("%d %d", &D[i], &L[i]));
// }
// int result = draw_territory(N, A, B, D, L);
// printf("%d\n", result);
// return 0;
// }