#include <iostream>
#include <vector>
#include <algorithm>
struct Knap
{
unsigned int a;
unsigned int b;
};
int main()
{
unsigned size, pyramids, vertex, sum = 0;
Knap temp;
std::cin >> size;
++size;
std::cin >> pyramids;
std::vector<std::vector<bool> > board;
board.resize(size, std::vector<bool>(size, false));
for (int i = 0; i < pyramids; ++i)
{
std::cin >> temp.a;
std::cin >> temp.b;
std::cin >> vertex;
board[temp.a][temp.b] = true;
unsigned int a;
if (temp.b <= size)
for (int a = temp.a + 1; a <= vertex + temp.a && a < size; ++a)
board[a][temp.b] = true;
a = temp.a;
for (unsigned int b = temp.b + 1; a <= vertex + temp.a && a < size && b <= temp.b + vertex && b < size; ++a, ++b)
board[a][b] = true;
for (Knap z = {temp.a + 2, temp.b + 1}; z.a <= temp.a + vertex * 2 && z.a < size && z.b <= temp.b + vertex && z.b < size; z.a += 2, ++z.b)
board[z.a][z.b] = true;
}
for (auto x : board)
sum += std::count(x.begin(), x.end(), true);
std::cout << sum;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKc3RydWN0IEtuYXAKewogICAgdW5zaWduZWQgaW50IGE7CiAgICB1bnNpZ25lZCBpbnQgYjsKfTsKCmludCBtYWluKCkKewogICAgdW5zaWduZWQgc2l6ZSwgcHlyYW1pZHMsIHZlcnRleCwgc3VtID0gMDsKICAgIEtuYXAgdGVtcDsKICAgIHN0ZDo6Y2luID4+IHNpemU7CiAgICArK3NpemU7CiAgICBzdGQ6OmNpbiA+PiBweXJhbWlkczsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6dmVjdG9yPGJvb2w+ID4gYm9hcmQ7CiAgICBib2FyZC5yZXNpemUoc2l6ZSwgc3RkOjp2ZWN0b3I8Ym9vbD4oc2l6ZSwgZmFsc2UpKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcHlyYW1pZHM7ICsraSkKICAgIHsKICAgICAgICBzdGQ6OmNpbiA+PiB0ZW1wLmE7CiAgICAgICAgc3RkOjpjaW4gPj4gdGVtcC5iOwogICAgICAgIHN0ZDo6Y2luID4+IHZlcnRleDsKICAgICAgICBib2FyZFt0ZW1wLmFdW3RlbXAuYl0gPSB0cnVlOwogICAgICAgIHVuc2lnbmVkIGludCBhOwogICAgICAgIGlmICh0ZW1wLmIgPD0gc2l6ZSkKICAgICAgICAgICAgZm9yIChpbnQgYSA9IHRlbXAuYSArIDE7IGEgPD0gdmVydGV4ICsgdGVtcC5hICYmIGEgPCBzaXplOyArK2EpCiAgICAgICAgICAgICAgICBib2FyZFthXVt0ZW1wLmJdID0gdHJ1ZTsKICAgICAgICBhID0gdGVtcC5hOwogICAgICAgIGZvciAodW5zaWduZWQgaW50IGIgPSB0ZW1wLmIgKyAxOyBhIDw9IHZlcnRleCArIHRlbXAuYSAmJiBhIDwgc2l6ZSAmJiBiIDw9IHRlbXAuYiArIHZlcnRleCAmJiBiIDwgc2l6ZTsgKythLCArK2IpCiAgICAgICAgICAgIGJvYXJkW2FdW2JdID0gdHJ1ZTsKICAgICAgICBmb3IgKEtuYXAgeiA9IHt0ZW1wLmEgKyAyLCB0ZW1wLmIgKyAxfTsgei5hIDw9IHRlbXAuYSArIHZlcnRleCAqIDIgJiYgei5hIDwgc2l6ZSAmJiB6LmIgPD0gdGVtcC5iICsgdmVydGV4ICYmIHouYiA8IHNpemU7IHouYSArPSAyLCArK3ouYikKICAgICAgICAgICAgYm9hcmRbei5hXVt6LmJdID0gdHJ1ZTsKCiAgICB9CiAgICBmb3IgKGF1dG8geCA6IGJvYXJkKQogICAgICAgIHN1bSArPSBzdGQ6OmNvdW50KHguYmVnaW4oKSwgeC5lbmQoKSwgdHJ1ZSk7CiAgICBzdGQ6OmNvdXQgPDwgc3VtOwogICAgcmV0dXJuIDA7Cn0K