#include <stdio.h>

int isquasiperiodic(long long w) {
	long long tt=0, m=0;
	for (int l=1;; l++) {
		m = (m<<1)+1;
		long long t = w & m;
		if (t!=tt) {
			// t starts with a "1"
			if (t==w) {
				return 0;
			}
			long long r = w;
			int g=l;
			for (;g-- && r>=t;) {
				r >>= 1;
				if ((r & m)==t) {
					if (r==t) {
						return 1;
					} else {
						g = l;
					}
				}
			}

			tt = t;
		}
	}
}

int a(int n) {
	int v = 0;
	for (long long w=1ll<<(n-1); w<(1ll<<n); w++) {
		if (isquasiperiodic(w)) {
			v++;
		}
	}
	return 2*v;
}

int main() {
	for (int n=1; n<60; n++) {
		printf("%d %d\n", n, a(n));
		fflush(stdout);
	}

	return 0;
}