Problem:
Score : 200 points

Problem Statement

Tak performed the following action N times: rolling two dice.
The result of the i-th roll is D_{i,1} and D_{i,2}.

Check if doublets occurred at least three times in a row.
Specifically, check if there exists at lease one i such that D_{i,1}=D_{i,2}, D_{i+1,1}=D_{i+1,2} and D_{i+2,1}=D_{i+2,2} hold.

Constraints

3 \leq N \leq 100

1\leq D_{i,j} \leq 6

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
D_{1,1} D_{1,2}
\vdots
D_{N,1} D_{N,2}

Output

Print Yes if doublets occurred at least three times in a row. Print No otherwise.

Sample Input 1

5
1 2
6 6
4 4
3 3
3 2

Sample Output 1

Yes

From the second roll to the fourth roll, three doublets occurred in a row.

Sample Input 2

5
1 1
2 2
3 4
5 5
6 6

Sample Output 2

No

Sample Input 3

6
1 1
2 2
3 3
4 4
5 5
6 6

Sample Output 3

Yes

Solution in C (Clang 10.0.0) (judge verdict: Accepted)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void) {
	int i;
	int s;
	int N;
	int *D;
	char buf[128], *ch;

	fgets(buf, sizeof(buf), stdin);
	ch = strtok(buf, " ");
	N = atoi(ch);
	D = (int *)calloc(N, sizeof(int));
	for(i = 0; i < N; i += 1) {
		fgets(buf, sizeof(buf), stdin);
		ch = strtok(buf, " ");
		D[2 * i] = atoi(ch);
		ch = strtok(NULL, " ");
		D[2 * i + 1] = atoi(ch);
	}

	s = 0;
	for(i = 0; i < N; i += 1) {
		if(s == 3) {
			break;
		}
		if(D[2 * i] == D[2 * i + 1]) {
			s += 1;
		} else {
			s = 0;
		}
	}
	if(s == 3) {
		printf("Yes\n");
	} else {
		printf("No\n");
	}

	free(D);
	return 0;
}