stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

string s;

int main(){

	ios::sync_with_stdio(0);

	cin.tie(0);

	cin>>s;

	if(s[2]==s[3]&&s[4]==s[5]){

		cout<<"Yes";

	}else{

		cout<<"No";

	}

	return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 5.407511460593814x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    char s[10];

    scanf("%s",s);

    if(s[2]==s[3]&&s[4]==s[5])

        cout<<"Yes";

    else

        cout<<"No";

}


// Faster C++ solution for the same problem (measured speedup: 5.282774751125255x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> pii;

typedef long long int lld;

#define sq(x) x*x

#define fr(i,m,n) for(i=m;i<n;i++)

#define vec vector<int>

#define sint set<int>

#define qint queue<int>

#define mip map<int,int>

#define pint priority_queue<int>

#define pb push_back

#define pp pop_back()

#define ft first

#define sd second

#define full(v) v.begin(),v.end()



int main()

{

    int i,j,k,a,b,c,x,y,z,n,m,t;

    string s,u,v;

    cin>>s;

    if(s[2]==s[3] && s[4]==s[5]) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.373385391526202x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include <iostream>



using namespace std;



int main() {

    

    string a ;

    cin >> a;

    if( a[2]==a[3] && a[4]==a[5]){

        cout << "Yes";}

        else{

            cout << "No";

        }

    

    

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.320401971957477x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

#include<cstring>

#include<cmath>

#include<ctime>

#include<vector>

#include<map>

#include<queue>

#include<set>

#include<cstdlib>

#include<ctime>

#include<random>

#define ll long long

using namespace std;



char s[10];



int main(){

    scanf("%s",s+1);

    if (s[3]==s[4]&&s[5]==s[6]) puts("Yes");

    else puts("No");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.271236819769642x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
# include <iostream>

# include <cstdio>



using namespace std;



int main(void)

{

    char a[100];

    scanf("%s",a);

    if (a[2]==a[3]&&a[4]==a[5]) printf("Yes\n");

    else printf("No\n");



    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.272533808377165x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

	string s;

	cin>>s;

	if(s[2]==s[3] && s[4]==s[5])

	{

		cout<<"Yes"<<endl;

	}

	else  cout<<"No"<<endl;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.333045694730859x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

typedef unsigned long long ull; 

typedef long double ld;

const ll mod = 1e9 + 7;

const double PI = acos(-1.0);

const double eps = 1e-10;

const ll inf = 1e18;

const int maxn = 200005;

inline ll read() { ll s = 0, w = 1; char ch = getchar(); for (; !isdigit(ch); ch = getchar()) if (ch == '-') w = -1; for (; isdigit(ch); ch = getchar())    s = (s << 1) + (s << 3) + (ch ^ 48); return s * w; }

inline void write(ll x) { if (!x) { putchar('0'); return; } char F[40]; ll tmp = x > 0 ? x : -x; if (x < 0)putchar('-');    int cnt = 0;    while (tmp > 0) { F[cnt++] = tmp % 10 + '0';        tmp /= 10; }    while (cnt > 0)putchar(F[--cnt]); }

inline ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; }

ll qpow(ll a, ll b) { ll ans = 1;    while (b) { if (b & 1)    ans *= a;        b >>= 1;        a *= a; }    return ans; }    ll qpow(ll a, ll b, ll mod) { ll ans = 1; while (b) { if (b & 1)(ans *= a) %= mod; b >>= 1; (a *= a) %= mod; }return ans % mod; }

inline int lowbit(int x) { return x & (-x); }



int main(int argc, char const *argv[])

{

	string s;

	cin >> s;

	if (s[2] == s[3] && s[4] == s[5])

	{

		cout << "Yes";

	}

	else

		cout << "No";

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.320287680095046x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include <stdio.h>

#include <iostream>

#include <cstring>

#include <algorithm>

#include <cmath>

#include <queue>

#include <map> 

#include <stack>

#include <sstream>

#include <set>

#pragma GCC optimize(2)



//#define int long long

#define mm(i,v) memset(i,v,sizeof i);

#define mp(a, b) make_pair(a, b)

#define pi acos(-1)

#define fi first

#define se second

//你冷静一点，确认思路再敲！！！ 



using namespace std;

typedef long long ll;

typedef pair<int, int > PII;

priority_queue< PII, vector<PII>, greater<PII> > que;

stringstream ssin; //  ssin << string   while ( ssin >> int)



const int N = 1e5 + 5, M = 2e5 + 5, mod = 1e9 + 9, INF = 0x3f3f3f3f;

char s[N];

int k;



inline int read(){

    char c=getchar();int x=0,f=1;

    while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}

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

    return x*f;

}



int main()

{

    scanf("%s", s + 1);

    if (s[3] == s[4] && s[5] == s[6]) puts("Yes");

    else puts("No");

    // system("pause");

    return 0;

}

/*

niuniu

1

abca

2

abcabc

2

*/

// Faster C++ solution for the same problem (measured speedup: 5.322439343624413x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main(){



string s;



cin>>s;



int m=0;



if(s[2]==s[3]){

m++;

}

if(s[4]==s[5]){

m++;

}



if(m==2){

cout<<"Yes"<<endl;

}else{

cout<<"No"<<endl;



}



return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.33290686750454x):
#include<stdio.h>

int main()

{

	char s[8];

	scanf("%s", &s);

	

	if(s[2]==s[3] && s[4]==s[5]){

		printf("Yes");

	}else{

		printf("No");

	}

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

#include <iostream>

using namespace  std;

const int N=1E5+5;



int main() {

string s;

cin>>s;

if(s[2]==s[3] && s[4]==s[5])

{

    cout<<"Yes";

}

else cout<<"No";

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.320401971957477x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <iostream>

using namespace std;







int main()

{

string x;

cin>>x;

if(x[2]==x[3] && x[4]==x[5])

{

    cout<<"Yes";

}

else

{

    cout<<"No";

}

		return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.320401971957477x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

string s;

int main(){

	ios::sync_with_stdio(0);

	cin.tie(0);

	cin>>s;

	if(s[2]==s[3]&&s[4]==s[5]){

		cout<<"Yes";

	}else{

		cout<<"No";

	}

	return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 5.407511460593814x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    char s[10];

    scanf("%s",s);

    if(s[2]==s[3]&&s[4]==s[5])

        cout<<"Yes";

    else

        cout<<"No";

}


// Faster C++ solution for the same problem (measured speedup: 5.282774751125255x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> pii;

typedef long long int lld;

#define sq(x) x*x

#define fr(i,m,n) for(i=m;i<n;i++)

#define vec vector<int>

#define sint set<int>

#define qint queue<int>

#define mip map<int,int>

#define pint priority_queue<int>

#define pb push_back

#define pp pop_back()

#define ft first

#define sd second

#define full(v) v.begin(),v.end()



int main()

{

    int i,j,k,a,b,c,x,y,z,n,m,t;

    string s,u,v;

    cin>>s;

    if(s[2]==s[3] && s[4]==s[5]) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.373385391526202x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <iostream>



using namespace std;



int main() {

    

    string a ;

    cin >> a;

    if( a[2]==a[3] && a[4]==a[5]){

        cout << "Yes";}

        else{

            cout << "No";

        }

    

    

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.320401971957477x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

#include<cstring>

#include<cmath>

#include<ctime>

#include<vector>

#include<map>

#include<queue>

#include<set>

#include<cstdlib>

#include<ctime>

#include<random>

#define ll long long

using namespace std;



char s[10];



int main(){

    scanf("%s",s+1);

    if (s[3]==s[4]&&s[5]==s[6]) puts("Yes");

    else puts("No");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.271236819769642x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
# include <iostream>

# include <cstdio>



using namespace std;



int main(void)

{

    char a[100];

    scanf("%s",a);

    if (a[2]==a[3]&&a[4]==a[5]) printf("Yes\n");

    else printf("No\n");



    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.272533808377165x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

	string s;

	cin>>s;

	if(s[2]==s[3] && s[4]==s[5])

	{

		cout<<"Yes"<<endl;

	}

	else  cout<<"No"<<endl;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.333045694730859x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

typedef unsigned long long ull; 

typedef long double ld;

const ll mod = 1e9 + 7;

const double PI = acos(-1.0);

const double eps = 1e-10;

const ll inf = 1e18;

const int maxn = 200005;

inline ll read() { ll s = 0, w = 1; char ch = getchar(); for (; !isdigit(ch); ch = getchar()) if (ch == '-') w = -1; for (; isdigit(ch); ch = getchar())    s = (s << 1) + (s << 3) + (ch ^ 48); return s * w; }

inline void write(ll x) { if (!x) { putchar('0'); return; } char F[40]; ll tmp = x > 0 ? x : -x; if (x < 0)putchar('-');    int cnt = 0;    while (tmp > 0) { F[cnt++] = tmp % 10 + '0';        tmp /= 10; }    while (cnt > 0)putchar(F[--cnt]); }

inline ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; }

ll qpow(ll a, ll b) { ll ans = 1;    while (b) { if (b & 1)    ans *= a;        b >>= 1;        a *= a; }    return ans; }    ll qpow(ll a, ll b, ll mod) { ll ans = 1; while (b) { if (b & 1)(ans *= a) %= mod; b >>= 1; (a *= a) %= mod; }return ans % mod; }

inline int lowbit(int x) { return x & (-x); }



int main(int argc, char const *argv[])

{

	string s;

	cin >> s;

	if (s[2] == s[3] && s[4] == s[5])

	{

		cout << "Yes";

	}

	else

		cout << "No";

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.320287680095046x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <stdio.h>

#include <iostream>

#include <cstring>

#include <algorithm>

#include <cmath>

#include <queue>

#include <map> 

#include <stack>

#include <sstream>

#include <set>

#pragma GCC optimize(2)



//#define int long long

#define mm(i,v) memset(i,v,sizeof i);

#define mp(a, b) make_pair(a, b)

#define pi acos(-1)

#define fi first

#define se second

//你冷静一点，确认思路再敲！！！ 



using namespace std;

typedef long long ll;

typedef pair<int, int > PII;

priority_queue< PII, vector<PII>, greater<PII> > que;

stringstream ssin; //  ssin << string   while ( ssin >> int)



const int N = 1e5 + 5, M = 2e5 + 5, mod = 1e9 + 9, INF = 0x3f3f3f3f;

char s[N];

int k;



inline int read(){

    char c=getchar();int x=0,f=1;

    while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}

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

    return x*f;

}



int main()

{

    scanf("%s", s + 1);

    if (s[3] == s[4] && s[5] == s[6]) puts("Yes");

    else puts("No");

    // system("pause");

    return 0;

}

/*

niuniu

1

abca

2

abcabc

2

*/

// Faster C++ solution for the same problem (measured speedup: 5.322439343624413x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main(){



string s;



cin>>s;



int m=0;



if(s[2]==s[3]){

m++;

}

if(s[4]==s[5]){

m++;

}



if(m==2){

cout<<"Yes"<<endl;

}else{

cout<<"No"<<endl;



}



return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.33290686750454x):
#include<stdio.h>



int main(){

	

	char s[7];          //0 1 2 3 4 5 6

	scanf("%s",&s);    // a b c d e f g

	

	s[2] == s[3] && s[4] == s[5]? printf("Yes") : printf("No");

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

#include <iostream>

using namespace  std;

const int N=1E5+5;



int main() {

string s;

cin>>s;

if(s[2]==s[3] && s[4]==s[5])

{

    cout<<"Yes";

}

else cout<<"No";

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.332250458676492x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include <iostream>

using namespace std;







int main()

{

string x;

cin>>x;

if(x[2]==x[3] && x[4]==x[5])

{

    cout<<"Yes";

}

else

{

    cout<<"No";

}

		return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.332250458676492x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

string s;

int main(){

	ios::sync_with_stdio(0);

	cin.tie(0);

	cin>>s;

	if(s[2]==s[3]&&s[4]==s[5]){

		cout<<"Yes";

	}else{

		cout<<"No";

	}

	return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 5.419553939350394x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    char s[10];

    scanf("%s",s);

    if(s[2]==s[3]&&s[4]==s[5])

        cout<<"Yes";

    else

        cout<<"No";

}


// Faster C++ solution for the same problem (measured speedup: 5.294539442366287x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> pii;

typedef long long int lld;

#define sq(x) x*x

#define fr(i,m,n) for(i=m;i<n;i++)

#define vec vector<int>

#define sint set<int>

#define qint queue<int>

#define mip map<int,int>

#define pint priority_queue<int>

#define pb push_back

#define pp pop_back()

#define ft first

#define sd second

#define full(v) v.begin(),v.end()



int main()

{

    int i,j,k,a,b,c,x,y,z,n,m,t;

    string s,u,v;

    cin>>s;

    if(s[2]==s[3] && s[4]==s[5]) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.385351871837881x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include <iostream>



using namespace std;



int main() {

    

    string a ;

    cin >> a;

    if( a[2]==a[3] && a[4]==a[5]){

        cout << "Yes";}

        else{

            cout << "No";

        }

    

    

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.332250458676492x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

#include<cstring>

#include<cmath>

#include<ctime>

#include<vector>

#include<map>

#include<queue>

#include<set>

#include<cstdlib>

#include<ctime>

#include<random>

#define ll long long

using namespace std;



char s[10];



int main(){

    scanf("%s",s+1);

    if (s[3]==s[4]&&s[5]==s[6]) puts("Yes");

    else puts("No");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.282975816142663x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
# include <iostream>

# include <cstdio>



using namespace std;



int main(void)

{

    char a[100];

    scanf("%s",a);

    if (a[2]==a[3]&&a[4]==a[5]) printf("Yes\n");

    else printf("No\n");



    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.284275693131999x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

	string s;

	cin>>s;

	if(s[2]==s[3] && s[4]==s[5])

	{

		cout<<"Yes"<<endl;

	}

	else  cout<<"No"<<endl;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.344922338905296x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

typedef unsigned long long ull; 

typedef long double ld;

const ll mod = 1e9 + 7;

const double PI = acos(-1.0);

const double eps = 1e-10;

const ll inf = 1e18;

const int maxn = 200005;

inline ll read() { ll s = 0, w = 1; char ch = getchar(); for (; !isdigit(ch); ch = getchar()) if (ch == '-') w = -1; for (; isdigit(ch); ch = getchar())    s = (s << 1) + (s << 3) + (ch ^ 48); return s * w; }

inline void write(ll x) { if (!x) { putchar('0'); return; } char F[40]; ll tmp = x > 0 ? x : -x; if (x < 0)putchar('-');    int cnt = 0;    while (tmp > 0) { F[cnt++] = tmp % 10 + '0';        tmp /= 10; }    while (cnt > 0)putchar(F[--cnt]); }

inline ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; }

ll qpow(ll a, ll b) { ll ans = 1;    while (b) { if (b & 1)    ans *= a;        b >>= 1;        a *= a; }    return ans; }    ll qpow(ll a, ll b, ll mod) { ll ans = 1; while (b) { if (b & 1)(ans *= a) %= mod; b >>= 1; (a *= a) %= mod; }return ans % mod; }

inline int lowbit(int x) { return x & (-x); }



int main(int argc, char const *argv[])

{

	string s;

	cin >> s;

	if (s[2] == s[3] && s[4] == s[5])

	{

		cout << "Yes";

	}

	else

		cout << "No";

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.332135912287124x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include <stdio.h>

#include <iostream>

#include <cstring>

#include <algorithm>

#include <cmath>

#include <queue>

#include <map> 

#include <stack>

#include <sstream>

#include <set>

#pragma GCC optimize(2)



//#define int long long

#define mm(i,v) memset(i,v,sizeof i);

#define mp(a, b) make_pair(a, b)

#define pi acos(-1)

#define fi first

#define se second

//你冷静一点，确认思路再敲！！！ 



using namespace std;

typedef long long ll;

typedef pair<int, int > PII;

priority_queue< PII, vector<PII>, greater<PII> > que;

stringstream ssin; //  ssin << string   while ( ssin >> int)



const int N = 1e5 + 5, M = 2e5 + 5, mod = 1e9 + 9, INF = 0x3f3f3f3f;

char s[N];

int k;



inline int read(){

    char c=getchar();int x=0,f=1;

    while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}

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

    return x*f;

}



int main()

{

    scanf("%s", s + 1);

    if (s[3] == s[4] && s[5] == s[6]) puts("Yes");

    else puts("No");

    // system("pause");

    return 0;

}

/*

niuniu

1

abca

2

abcabc

2

*/

// Faster C++ solution for the same problem (measured speedup: 5.334292367551568x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main(){



string s;



cin>>s;



int m=0;



if(s[2]==s[3]){

m++;

}

if(s[4]==s[5]){

m++;

}



if(m==2){

cout<<"Yes"<<endl;

}else{

cout<<"No"<<endl;



}



return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.3447832025120094x):
#include <stdio.h>



int main()

{

	char S[7];

	scanf ("%s", &S);

	

	((S[2] == S[3]) && (S[4] == S[5])) ? puts ("Yes") : puts ("No");

	

	return 0;

}