#include <iostream>
#include <vector>
using namespace std;
const int dx[] = {1, 0, -1, 0};
const int dy[] = {0, -1, 0, 1};
bool mp[101][101] = {0};
void func(int x, int y, int d, int g) {
vector<int> v;
v.push_back(d);
while(g--) {
for(int i = v.size()-1; i >= 0; i--)
v.push_back((d+1)%4);
}
mp[y][x] = true;
for(auto& p : v) {
y += dy[p];
x += dx[p];
mp[y][x] = true;
}
}
int main() {
int t;
cin >> t;
while(t--) {
int x, y, d, g;
cin >> x >> y >> d >> g;
func(x, y, d, g);
}
int result = 0;
for(int i = 0; i < 100; i++) {
for(int j = 0; j < 100; j++)
if(mp[i][j] && mp[i+1][j] && mp[i][j+1] && mp[i+1][j+1])
result++;
}
cout << result;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IGR4W10gPSB7MSwgMCwgLTEsIDB9Owpjb25zdCBpbnQgZHlbXSA9IHswLCAtMSwgMCwgMX07Cgpib29sIG1wWzEwMV1bMTAxXSA9IHswfTsKdm9pZCBmdW5jKGludCB4LCBpbnQgeSwgaW50IGQsIGludCBnKSB7CiAgICB2ZWN0b3I8aW50PiB2OwogICAgdi5wdXNoX2JhY2soZCk7CiAgICB3aGlsZShnLS0pIHsKICAgICAgICBmb3IoaW50IGkgPSB2LnNpemUoKS0xOyBpID49IDA7IGktLSkKICAgICAgICAgICAgdi5wdXNoX2JhY2soKGQrMSklNCk7CiAgICB9CiAgICAKICAgIG1wW3ldW3hdID0gdHJ1ZTsKICAgIGZvcihhdXRvJiBwIDogdikgewogICAgICAgIHkgKz0gZHlbcF07CiAgICAgICAgeCArPSBkeFtwXTsKICAgICAgICBtcFt5XVt4XSA9IHRydWU7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSkgewogICAgICAgIGludCB4LCB5LCBkLCBnOwogICAgICAgIGNpbiA+PiB4ID4+IHkgPj4gZCA+PiBnOwogICAgICAgIGZ1bmMoeCwgeSwgZCwgZyk7CiAgICB9CiAgICAKICAgIGludCByZXN1bHQgPSAwOwogICAgZm9yKGludCBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IDEwMDsgaisrKQogICAgICAgICAgICBpZihtcFtpXVtqXSAmJiBtcFtpKzFdW2pdICYmIG1wW2ldW2orMV0gJiYgbXBbaSsxXVtqKzFdKQogICAgICAgICAgICAgICAgcmVzdWx0Kys7CiAgICB9CiAgICBjb3V0IDw8IHJlc3VsdDsKICAgIHJldHVybiAwOwp9