/*
?§???????????????°???????????°

goto ?????????C/C++?¨????????????§???????????¨?????§???????????§????????????????????¨????????¶????????????????????????????????????????£?????????????????????° goto CHECK_NUM; ??¨?????????????????????????????¨???????????°??????????????§ CHECK_NUM: ??¨????????????????????????????§?????????????????????????????????£????????°?????????????????????????????????????????¨?????§????????????

?????????goto ???????????±??????????????????????????°?????????????????§?????±??????????????????????????????????????????????????¨?????¨?\¨?????????????????????

?¬????C++?¨???????????????°????????¨?????????????????????????????°????????????????????????????????????????????????goto ????????????????????§????£?????????????????????????

void call(int n){
int i = 1;
CHECK_NUM:
int x = i;
if ( x % 3 == 0 ){
cout << " " << i;
goto END_CHECK_NUM;
}
INCLUDE3:
if ( x % 10 == 3 ){
cout << " " << i;
goto END_CHECK_NUM;
}
x /= 10;
if ( x ) goto INCLUDE3;
END_CHECK_NUM:
if ( ++i <= n ) goto CHECK_NUM;

cout << endl;
}

*/
#include <iostream>
#include <math.h>

bool power(int x) {
	if (x % 10 == 3) {
		return true;
	}
	else if (x == 0) {
		return false;
	}
	else {
		power(x / 10);
	}
}

int main() {
	int n;
	bool inc3;
	std::cin >> n;
	for (int i = 1; i <= n; i++)
	{
		if (i % 3 == 0) {
			std::cout << " " << i;
		}
		else {
			if (power(i)) {
				std::cout << " " << i;
			}
			/*
			for (int j = 0; j < 4; j++)
			{
				int d = pow(10, j);
				if ((i / d) % 10 == 3) {
					std::cout << " " << i;
					break;
				}
			}*/
		}
	}
	std::cout << std::endl;
	return 0;
}
#include <stdio.h>
#include <string.h>

int main() {
	char str1[12], str2[12], str3[12];
	
	scanf("%s%s%s", str1, str2, str3);
	
	int len1 = strlen(str1), len2 = strlen(str2), len3 = strlen(str3);
	if (str1[len1 - 1] == str2[0] && str2[len2 - 1] == str3[0]) {
			puts("YES");
		}
		else {
			puts("NO");
		}
		
	
	
	return 0;
}