// editor2

#include<stdio.h>
// #include<stdlib.h>

// typedef struct Node{
//     int data;
//     struct Node *next;
//     struct Node *prev;
// }Node;

// Node *head=NULL, *tail=NULL;

// void addNode(int data){
//     Node *newNode=(Node*)malloc(sizeof(Node));
//     newNode->data=data;
//     newNode->next=newNode->prev=NULL;
//     if(head==NULL){
//         head=newNode;
//     }
//     else{
//         tail->next=newNode;
//         tail=newNode;
//     }
// }

// int isPalindrome(){
//     int pali=1;
//     Node *frw=head;
//     Node *bck=tail;
//     while(frw!=bck){
//         if(!frw->data==bck->data){
//             pali=0;
//         }
//         frw=frw->next;
//         bck=bck->prev;
//     }
//     return pali;
// }

int main(){
    int arr[100];
    int end=0;
    for(int i=0; i<100;i++){
        scanf("%d", &arr[i]);
        if(arr[i]==-1){
            break;
        }
        end+=1;
    }
    int start=0;
    int pali=0;
    while(start<=end){
        if(arr[start]==arr[end-1]){
            pali=1;
        }
        else{
            printf("No");
            return 0;
        }
    }
    if(pali)
        printf("Yes");
}

// int main(){
//     int data;
//     // printf("main");
//     while(1){
//         printf("enter loop");
//         // if(!scanf("%d", &data)){
//         //     printf("Invalid input");
//         // }
//         scanf("%d", &data);
//         printf("%d", data);
//         if(data==-1){
//             break;
//         }
//         addNode(data);
//     }
// //     printf("got");
// //     if(isPalindrome()){
// //         printf("Yes");
// //     }
// //     else{
// //         printf("No");
// //     }
// }