Problem:
Score : 100 points

Problem Statement

A string of length 6 consisting of lowercase English letters is said to be coffee-like if and only if its 3-rd and 4-th characters are equal and its 5-th and 6-th characters are also equal.

Given a string S, determine whether it is coffee-like.

Constraints

S is a string of length 6 consisting of lowercase English letters.

Input

Input is given from Standard Input in the following format:

S

Output

If S is coffee-like, print Yes; otherwise, print No.

Sample Input 1

sippuu

Sample Output 1

Yes

In sippuu, the 3-rd and 4-th characters are equal, and the 5-th and 6-th characters are also equal.

Sample Input 2

iphone

Sample Output 2

No

Sample Input 3

coffee

Sample Output 3

Yes

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include<bits/stdc++.h>
#define MOD 1000000007
using namespace std;
#define ll long long int
#define gc getchar_unlocked
#define pc putchar_unlocked
const long long int size=1000003;
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#ifdef _WIN32
// no getchar_unlocked on Windows so call _getchar_nolock
inline int gc() { return getchar(); }
inline int pc(ll n) { return putchar(n);}
#endif
// //ll f[size];
// vector<bool>isPrime(size,1);
// //bool isPrime[size];
// ll p[size];
// void fact()
// {f[0] = 1;ll i = 1;while(i<size){f[i] = f[i-1]*i;f[i] = f[i]%MOD;i++;}}
// //use when mod is prime no
// ll fast_pow(ll a,ll n)
// {ll result = 1;while(n>0){if(n&1){result = result*a;result = result%MOD;}a = (a*a)   %MOD;n/= 2;}return result;}
// ll inv(ll x)
// {return fast_pow(x,MOD-2);}
// void sieve()
// {//for(ll i = 0; i <= size;++i) {isPrime[i] = true;}
// isPrime[0] = false;isPrime[1] = false;
// for(ll i = 2; i * i <= size; ++i) {if(isPrime[i] == true) {
// for(ll j = i * i; j <= size ;j += i)isPrime[j] = false;}}

//  p[1]=0;p[0]=0;
//     for(ll i=2;i<=size-1;i++)
//     {
//         if(isPrime[i])
//         p[i]=i+p[i-1];
//         else
//         p[i]=p[i-1];
//     }
// }
// vector<ll> factorize(ll n) {vector<ll> res;
// for (ll i = 2; i * i <= n; ++i) {while (n % i == 0) {res.push_back(i);n /= i;}}
// if (n != 1) {res.push_back(n);}return res;}
ll phi(ll n)
{
	ll result = n;
	for (ll p = 2; p * p <= n; ++p) {
		if (n % p == 0) {
			while (n % p == 0)
				n /= p;
			result -= result / p;
		}
	}
	if (n > 1)
		result -= result / n;
	return result;
}
inline void in(ll &x)
{
	register char c = gc();
	while(c<'0' || c>'9')
		c = gc();

	x=0;
	while(c>='0' && c<='9')
	{
		x = 10 * x + c - 48;
		c = gc();
	}

}
inline void out( ll &b)
{
	char snum[20];
	ll i=0;
	do
	{
		snum[i++]=b%10+'0';
		b=b/10;
	}while(b);
	i=i-1;

	while (i>=0)
	{
		pc(snum[i--]);
	}
   pc('\n');
}
int main()
{
    string s;cin>>s;
    if(s[2]==s[3] && s[4]==s[5])
    {
        cout<<"Yes"<<endl;
    }
    else
        cout<<"No"<<endl;
    
}