#include <bits/stdc++.h>
using namespace std;
using i64 = int64_t;
void setIO(string s) {
freopen((s+".in").c_str(), "r", stdin);
freopen((s+".out").c_str(), "w", stdout);
}
const int MAXN = 310;
int N;
char G[MAXN][MAXN];
i64 ans = 0;
bitset<MAXN> bs[MAXN];
void go() {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
bs[i][j] = (G[i][j] == '*');
}
}
for (int a0 = 0; a0 < N; a0++) {
for (int x = 1; x < N; x++) {
for (int y = x; y < N; y += 2) {
int b0 = a0+x;
int c0 = b0+(x+y)/2;
if (c0 >= N) break;
int bshift = y;
int cshift = (y-x)/2;
ans += int((bs[a0] & (bs[b0] >> bshift) & (bs[c0] >> cshift)).count());
}
}
}
}
char tmp[MAXN][MAXN];
void rot90() {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
tmp[N-1-j][i] = G[i][j];
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
G[i][j] = tmp[i][j];
}
}
}
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++) {
//cin >> G[i];
for (int j = 0; j < N; j++) G[i][j] = '*';
}
for (int z = 0; z < 4; z++) {
go();
rot90();
}
cout << ans << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBpNjQgPSBpbnQ2NF90OwoKdm9pZCBzZXRJTyhzdHJpbmcgcykgewoJZnJlb3BlbigocysiLmluIikuY19zdHIoKSwgInIiLCBzdGRpbik7CglmcmVvcGVuKChzKyIub3V0IikuY19zdHIoKSwgInciLCBzdGRvdXQpOwp9Cgpjb25zdCBpbnQgTUFYTiA9IDMxMDsKaW50IE47CmNoYXIgR1tNQVhOXVtNQVhOXTsKCmk2NCBhbnMgPSAwOwpiaXRzZXQ8TUFYTj4gYnNbTUFYTl07Cgp2b2lkIGdvKCkgewoJZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IE47IGorKykgewoJCQlic1tpXVtqXSA9IChHW2ldW2pdID09ICcqJyk7CgkJfQoJfQoJZm9yIChpbnQgYTAgPSAwOyBhMCA8IE47IGEwKyspIHsKCQlmb3IgKGludCB4ID0gMTsgeCA8IE47IHgrKykgewoJCQlmb3IgKGludCB5ID0geDsgeSA8IE47IHkgKz0gMikgewoJCQkJaW50IGIwID0gYTAreDsKCQkJCWludCBjMCA9IGIwKyh4K3kpLzI7CgkJCQlpZiAoYzAgPj0gTikgYnJlYWs7CgkJCQlpbnQgYnNoaWZ0ID0geTsKCQkJCWludCBjc2hpZnQgPSAoeS14KS8yOwoJCQkJYW5zICs9IGludCgoYnNbYTBdICYgKGJzW2IwXSA+PiBic2hpZnQpICYgKGJzW2MwXSA+PiBjc2hpZnQpKS5jb3VudCgpKTsKCQkJfQoJCX0KCX0KfQoKY2hhciB0bXBbTUFYTl1bTUFYTl07Cgp2b2lkIHJvdDkwKCkgewoJZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IE47IGorKykgewoJCQl0bXBbTi0xLWpdW2ldID0gR1tpXVtqXTsKCQl9Cgl9Cglmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCWZvciAoaW50IGogPSAwOyBqIDwgTjsgaisrKSB7CgkJCUdbaV1bal0gPSB0bXBbaV1bal07CgkJfQoJfQp9CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApLCBjaW4udGllKDApOwoKCWNpbiA+PiBOOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKCQkvL2NpbiA+PiBHW2ldOwoJCWZvciAoaW50IGogPSAwOyBqIDwgTjsgaisrKSBHW2ldW2pdID0gJyonOwoJfQoKCWZvciAoaW50IHogPSAwOyB6IDwgNDsgeisrKSB7CgkJZ28oKTsKCQlyb3Q5MCgpOwoJfQoJY291dCA8PCBhbnMgPDwgJ1xuJzsKCglyZXR1cm4gMDsKfQo=