#include<iostream>
#include<math.h>
using namespace std;

int main(){

	// 配列matrixは、a^bの表
	// 配列checkは、nの何乗未満を調べるのかを保存
	int matrix[101][101] = {0};
	int check[11] = {0,0,7,5,4,3,3,3,3,3,3};

	// 重なる数字のところに「1」を代入していく
	for(int a = 2; a < 11; a++){
		for(int b = 4; b < 101; b++){

			// bの約数を求める
			int root = sqrt((double)b) + 1;
			for(int n = 2; n < root; n++){
				if(b % n == 0){

					// 調べるべき累乗の数かどうかの判断
					// 範囲内なら「1」を格納
					if(n < check[a]) {matrix[(int)pow((double)a,(double)n)][b/n] = 1;}
					if(b/n < check[a]) {matrix[(int)pow((double)a,(double)b/n)][n] = 1;}
				}
			}
		}
	}

	// 異なる数字を数える
	int count = 0;
	for(int a = 2; a < 101; a++){
		for(int b = 2; b < 101; b++){
			if(matrix[a][b] == 0) {count++;}
		}
	}

	// 異なる数字の数を出力する
	cout << count << endl;
	return 0;
}