#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;
}
