You are given three strings A, B and C. Check whether they form a word chain.

More formally, determine whether both of the following are true:

* The last character in A and the initial character in B are the same.
* The last character in B and the initial character in C are the same.



If both are true, print `YES`. Otherwise, print `NO`.

Constraints

* A, B and C are all composed of lowercase English letters (`a` - `z`).
* 1 ≤ |A|, |B|, |C| ≤ 10, where |A|, |B| and |C| are the lengths of A, B and C, respectively.

Input

Input is given from Standard Input in the following format:


A B C


Output

Print `YES` or `NO`.

Examples

Input

rng gorilla apple


Output

YES


Input

yakiniku unagi sushi


Output

NO


Input

a a a


Output

YES


Input

aaaaaaaaab aaaaaaaaaa aaaaaaaaab


Output

NO
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();

		Set<Integer>list = new HashSet<Integer>();
		int n = 1;
		while(!list.contains(0)){
			int num = (A * n) % B;
			list.add(num);
			n++;
		}

		Iterator<Integer>it = list.iterator();

		while(it.hasNext()){
			int num = it.next();
			if(num == 0)continue;

			if(C % num == 0){
				System.out.println("YES");
				break;
			}
		}

		if(!it.hasNext()){
			System.out.println("NO");
		}

		sc.close();
	}
}
