# Codeforces849a odds and ends

Posted by yjjr's blog on February 6, 2018

Where do odds begin, and where do they end?Where does hope emerge, and will they ever break?

Given an integer sequencea1, a2, ..., an of lengthn. Decide whether it is possible to divide it intoan odd number of non-empty subsegments, the each of which has an odd length andbegins and ends with odd numbers.

A subsegment is a contiguous slice of thewhole sequence. For example, {3, 4, 5} and {1} are subsegments of sequence {1, 2, 3, 4, 5, 6}, while {1, 2, 4} and {7} are not.

Input

The first line of input contains anon-negative integern (1 ≤ n ≤ 100) — the length of the sequence.

The second line containsn space-separatednon-negative integersa1, a2, ..., an (0 ≤ ai ≤ 100) — the elementsof the sequence.

Output

Output "Yes" if it's possible tofulfill the requirements, and "No" otherwise.

You can output each letter in any case(upper or lower).

Example

Input

3
1 3 5

Output

Yes

Input

5
1 0 1 5 1

Output

Yes

Input

3
4 3 1

Output

No

Input

4
3 9 9 3

Output

No

Note

In the first example, divide the sequenceinto 1 subsegment: {1, 3, 5} and therequirements will be met.

In the second example, divide the sequenceinto 3 subsegments: {1, 0, 1}, {5}, {1}.

In the third example, one of thesubsegments must start with 4 which is an even number, thus the requirementscannot be met.

In the fourth example, the sequence can bedivided into 2 subsegments: {3, 9, 9}, {3}, but this is not a valid solution because 2 is an evennumber.

#include<bits/stdc++.h>
inline int read()
{
int f=1,x=0;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int n,ans=0,flag;
int a;

void work(int l,int r)
{
if(a[l]%2==0){flag=0;return;}
int i;
ans++;//printf("%d %d %d\n",l,r,ans);
for(i=r;i>=l;i--)
if((i-l)%2==0&&a[i]%2!=0){break;}
if(i<r)work(i+1,r);
}
int main()
{
for(int i=1;i<105;i++)a[i]=2;
n=read();
for(int i=1;i<=n;i++)a[i]=read();
if(a%2==0||a[n]%2==0){printf("No\n");return 0;}
flag=1;
work(1,n);
if(ans%2==0||flag==0)printf("No\n");
else printf("Yes\n");
return 0;
} 