stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;



int main()

{

    vector<int> haiku;

    int a, b, c;

    cin >> a >> b >> c;

    haiku.push_back(a);

    haiku.push_back(b);

    haiku.push_back(c);

    sort (haiku.begin(), haiku.end());



    if (haiku[0] == 5 && haiku[1] == 5 && haiku[2] == 7) {

        cout << "YES" << endl;

    } else {

        cout << "NO" << endl;

    }



    return 0;

}


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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include <cstdio>

#include <cmath>

#include <cstring>

#include <iomanip>

#include <algorithm>

#include <string>

#include <map>

#include <queue>

using namespace std;

int main()

{

 	int a,b,c;

 	cin>>a>>b>>c;

 	if(a==5&&b==5&&c==7)

	 {

		cout<<"YES"<<endl;

     }

    else if

	(a==5&&c==5&&b==7)

	{

	cout<<"YES"<<endl;

    }

	else if

	(a==7&&b==5&&c==5)

    { 

	cout<<"YES"<<endl;

	}

	else 

	cout<<"NO"<<endl; 

 	return 0;

}

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

using namespace std;



int main(){

	int lim,ju;

	lim = ju = 0;

	int c;

	for(int  i = 0 ; i < 3 ; i ++ ){

		cin>>c;

		if(c==5) lim++;

		if(c==7) ju++;

	}

	if(lim==2 && ju == 1) printf("YES\n");

	else printf("NO\n");

	return 0;

}

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include <cstdlib>

#include <cstdio>

#include <algorithm>



using namespace std;



int a[10];





int main()

{

	for(int i = 0; i < 3; i++){

		cin >> a[i];

	}

	sort(a,a+3);

	if(a[0]==5 && a[1]==5 && a[2] == 7){

		cout << "YES" << endl;

	}

	else {

		cout << "NO" << endl;

	}

}

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include<algorithm>

#include <iostream>

using namespace std;



int main(){

    int a[4];

    cin >> a[0] >> a[1] >> a[2];

    sort(a,a+3);

    if(a[0] == 5 && a[1] == 5 && a[2] == 7){

        puts("YES");

    }else{

    

        puts("NO");

    }

    return 0;

}

 

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include <cstdio>



using namespace std;



int main()

{

	

	char a,b,c;

	scanf("%c",&a);

	getchar();

	scanf("%c",&b);

	getchar();

	scanf("%c",&c);

//	printf("%c%c%c",a,b,c);

	if((a=='5'&&b=='5'&&c=='7')||(a=='5'&&b=='7'&&c=='5')||(a=='7'&&b=='5'&&c=='5'))

	{

		printf("YES\n");

	}

	else

	{

		printf("NO\n");

	}

	

	return 0;

}

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

using namespace std;

int main()

{

   int a,b,c;

   cin>>a>>b>>c;

   int x,y;x=y=0;

   if(a==5)x++;

   if(a==7)y++;

   if(b==5)x++;

   if(b==7)y++;

   if(c==5)x++;

   if(c==7)y++;

   if(x==2&&y==1)cout<<"YES\n";

   else cout<<"NO\n";

}


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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include<queue>

#include<stdio.h>

#include<map>

#include<set>

#include<string.h>

#include<algorithm>

#include<iostream>

#include<math.h>

#define mp make_pair

using namespace std;

typedef long long ll;

inline ll in()

{

    ll res=0,p=1;

    char c=getchar();

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

    while(c>='0'&&c<='9') res=res*10+c-48,c=getchar();

    return p*res;

}

void out(ll x)

{

    if (x>9) out(x/10);

    putchar(x%10+48);

}

void outn(ll x)

{

    if (x<0){

        putchar('-');

        out(-x);

    }else out(x);

    putchar(10);

}

const int mod = 1e9 + 7, inf = 0x3f3f3f3f;

//const double pi = acos(-1.0);

const ll INF = 0x3f3f3f3f3f3f3f3f;

const int dx[4] = {0, 0, -1, 1}, dy[4] = {1, -1, 0, 0};



ll gcd(ll a, ll b){return b == 0 ? a : gcd(b, a % b);}

ll quickpow(ll x, ll k)

{

    ll res = 1;

    while(k){

        if(k & 1) res = (res * x) % mod;

        k >>= 1, x = (x * x) % mod;

    }

    return res;

}



const int maxn = 1e5 + 5;

int par[maxn], r[maxn];

int findp(int x)

{

    if (par[x] < 0) return x;

    else{

        int fx = findp(par[x]);

        r[x] = (r[x] + r[par[x]]) % 2;

        par[x] = fx;

    }

}

void unite(int x, int y)

{

    int fx = findp(x), fy = findp(y);

    if (fx != fy){

        r[x] = (r[x] - r[y] + 1) % 2;

        par[fy] = fx;

    }

}

bool same(int x, int y){return findp(x) == findp(y);}



int main()

{

    int x, c5 = 0, c7 = 0;

    for (int i = 0; i < 3; ++i){

        cin >> x;

        if (x == 5) ++c5;

        if (x == 7) ++c7;

    }

    if (c5 == 2 && c7 == 1) puts("YES");

    else puts("NO");

    return 0;

}


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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include<cstring>

#include<iostream>

#include<algorithm>

#define ll long long

#define Di 3.1415926

#include<math.h>

#define INF 0x3f3f3f3f

using namespace std;

ll  gcd(ll a,ll b)

{

    return a%b? gcd(b,a%b):b;

}



int main()

{

  int a,b,c,t1=0,t2=0;

   cin>>a>>b>>c;

   if(a==5)

   {

       t1++;

   }

   if(a==7)

   {

       t2++;

   }



  if(b==5)

   {

       t1++;

   }

   if(b==7)

   {

       t2++;

   }

    if(c==5)

   {

       t1++;

   }

   if(c==7)

   {

       t2++;

   }

   if(t1==2&&t2==1)

    printf("YES\n");

   else

   {

       printf("NO\n");

   }







 return 0;

}


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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include<algorithm>

#include<string.h>

#include<set>

#include<queue>

#include<string>

#include<sstream>

#include<iostream>

#include<sstream>

#include<stack>

#include<map>

#include<vector>

#include<cstring>

#include<cstdlib>

#include<cstdio>

using namespace std;



int x[3];

int main()

{

	int flag1 = 0,flag2 = 0;

	for (int i = 0; i < 3; i++)

	{

		scanf("%d", &x[i]);

	}

	for (int i = 0; i < 3; i++)

	{

		if (x[i] == 5)flag1++;

		if (x[i] == 7)flag2++;

	}

	if (flag1 == 2 && flag2 == 1)cout << "YES";

	else cout << "NO";

}


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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

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

#include <cstdio>

#include <algorithm>



using namespace std;



int a, b, c, cnt_7, cnt_5;



int main()

{

	cin >> a >> b >> c;

	if(a == 5) cnt_5 ++;

	if(a == 7) cnt_7 ++;

	if(b == 5) cnt_5 ++;

	if(b == 7) cnt_7 ++;

	if(c == 5) cnt_5 ++;

	if(c == 7) cnt_7 ++;



	if(cnt_7 == 1 && cnt_5 == 2){

		cout << "YES" << endl;

		return 0;

	} else {

		cout << "NO" << endl;

		return 0;

	}

}

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



int main(){

	int  A,B,C;

	scanf("%d%d%d",&A,&B,&C);

	if(A*B*C == 175){

		printf("YES\n");

	}

	else{

		printf("NO\n");

	}

    return 0;

}
// Slower C++ solution:
///Verdict: AC

#include <bits/stdc++.h>

using namespace std;



#define read(num1, num2, num3) scanf("%d %d %d", &num1, &num2, &num3)

typedef long long int lli;



int main()

{

    int a, b, c;

    while(read(a,b,c)!=EOF)

    {

        if(a+b+c == 17) cout << "YES\n";

        else cout << "NO\n";

    }



    return 0;

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <cstdio>

#include<cstring>

#include <algorithm>

using namespace std;



int main()

{

    int a[10];

    for(int i = 0; i < 3; i ++)

    {

        scanf("%d",&a[i]);

    }

    sort(a,a + 3);

    bool flag = false;

    if(a[0] != 5)flag = true;

    if(a[1] != 5)flag = true;

    if(a[2] != 7)flag = true;

    if(flag == true)

    {

        printf("NO\n");

    }

    else

    {

        printf("YES\n");

    }

    return 0;

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

using namespace std;



typedef long long int LL;



int sum[11];

int main()

{

    int a,b,c;

    scanf("%d%d%d",&a,&b,&c);

    sum[a]++;

    sum[b]++;

    sum[c]++;

    if(sum[5] == 2 && sum[7] == 1)printf("YES\n");

    else printf("NO\n");

    return 0;

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <vector>

#include <algorithm>

using namespace std;



int main()

{

    vector<int> haiku;

    int a, b, c;

    cin >> a >> b >> c;

    haiku.push_back(a);

    haiku.push_back(b);

    haiku.push_back(c);

    sort (haiku.begin(), haiku.end());



    if (haiku[0] == 5 && haiku[1] == 5 && haiku[2] == 7) {

        cout << "YES" << endl;

    } else {

        cout << "NO" << endl;

    }



    return 0;

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <cstdio>

#include <cmath>

#include <cstring>

#include <iomanip>

#include <algorithm>

#include <string>

#include <map>

#include <queue>

using namespace std;

int main()

{

 	int a,b,c;

 	cin>>a>>b>>c;

 	if(a==5&&b==5&&c==7)

	 {

		cout<<"YES"<<endl;

     }

    else if

	(a==5&&c==5&&b==7)

	{

	cout<<"YES"<<endl;

    }

	else if

	(a==7&&b==5&&c==5)

    { 

	cout<<"YES"<<endl;

	}

	else 

	cout<<"NO"<<endl; 

 	return 0;

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

using namespace std;



int main(){

	int lim,ju;

	lim = ju = 0;

	int c;

	for(int  i = 0 ; i < 3 ; i ++ ){

		cin>>c;

		if(c==5) lim++;

		if(c==7) ju++;

	}

	if(lim==2 && ju == 1) printf("YES\n");

	else printf("NO\n");

	return 0;

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <cstdlib>

#include <cstdio>

#include <algorithm>



using namespace std;



int a[10];





int main()

{

	for(int i = 0; i < 3; i++){

		cin >> a[i];

	}

	sort(a,a+3);

	if(a[0]==5 && a[1]==5 && a[2] == 7){

		cout << "YES" << endl;

	}

	else {

		cout << "NO" << endl;

	}

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include<algorithm>

#include <iostream>

using namespace std;



int main(){

    int a[4];

    cin >> a[0] >> a[1] >> a[2];

    sort(a,a+3);

    if(a[0] == 5 && a[1] == 5 && a[2] == 7){

        puts("YES");

    }else{

    

        puts("NO");

    }

    return 0;

}

 

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <cstdio>



using namespace std;



int main()

{

	

	char a,b,c;

	scanf("%c",&a);

	getchar();

	scanf("%c",&b);

	getchar();

	scanf("%c",&c);

//	printf("%c%c%c",a,b,c);

	if((a=='5'&&b=='5'&&c=='7')||(a=='5'&&b=='7'&&c=='5')||(a=='7'&&b=='5'&&c=='5'))

	{

		printf("YES\n");

	}

	else

	{

		printf("NO\n");

	}

	

	return 0;

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

using namespace std;

int main()

{

   int a,b,c;

   cin>>a>>b>>c;

   int x,y;x=y=0;

   if(a==5)x++;

   if(a==7)y++;

   if(b==5)x++;

   if(b==7)y++;

   if(c==5)x++;

   if(c==7)y++;

   if(x==2&&y==1)cout<<"YES\n";

   else cout<<"NO\n";

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include<queue>

#include<stdio.h>

#include<map>

#include<set>

#include<string.h>

#include<algorithm>

#include<iostream>

#include<math.h>

#define mp make_pair

using namespace std;

typedef long long ll;

inline ll in()

{

    ll res=0,p=1;

    char c=getchar();

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

    while(c>='0'&&c<='9') res=res*10+c-48,c=getchar();

    return p*res;

}

void out(ll x)

{

    if (x>9) out(x/10);

    putchar(x%10+48);

}

void outn(ll x)

{

    if (x<0){

        putchar('-');

        out(-x);

    }else out(x);

    putchar(10);

}

const int mod = 1e9 + 7, inf = 0x3f3f3f3f;

//const double pi = acos(-1.0);

const ll INF = 0x3f3f3f3f3f3f3f3f;

const int dx[4] = {0, 0, -1, 1}, dy[4] = {1, -1, 0, 0};



ll gcd(ll a, ll b){return b == 0 ? a : gcd(b, a % b);}

ll quickpow(ll x, ll k)

{

    ll res = 1;

    while(k){

        if(k & 1) res = (res * x) % mod;

        k >>= 1, x = (x * x) % mod;

    }

    return res;

}



const int maxn = 1e5 + 5;

int par[maxn], r[maxn];

int findp(int x)

{

    if (par[x] < 0) return x;

    else{

        int fx = findp(par[x]);

        r[x] = (r[x] + r[par[x]]) % 2;

        par[x] = fx;

    }

}

void unite(int x, int y)

{

    int fx = findp(x), fy = findp(y);

    if (fx != fy){

        r[x] = (r[x] - r[y] + 1) % 2;

        par[fy] = fx;

    }

}

bool same(int x, int y){return findp(x) == findp(y);}



int main()

{

    int x, c5 = 0, c7 = 0;

    for (int i = 0; i < 3; ++i){

        cin >> x;

        if (x == 5) ++c5;

        if (x == 7) ++c7;

    }

    if (c5 == 2 && c7 == 1) puts("YES");

    else puts("NO");

    return 0;

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include<cstring>

#include<iostream>

#include<algorithm>

#define ll long long

#define Di 3.1415926

#include<math.h>

#define INF 0x3f3f3f3f

using namespace std;

ll  gcd(ll a,ll b)

{

    return a%b? gcd(b,a%b):b;

}



int main()

{

  int a,b,c,t1=0,t2=0;

   cin>>a>>b>>c;

   if(a==5)

   {

       t1++;

   }

   if(a==7)

   {

       t2++;

   }



  if(b==5)

   {

       t1++;

   }

   if(b==7)

   {

       t2++;

   }

    if(c==5)

   {

       t1++;

   }

   if(c==7)

   {

       t2++;

   }

   if(t1==2&&t2==1)

    printf("YES\n");

   else

   {

       printf("NO\n");

   }







 return 0;

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include<algorithm>

#include<string.h>

#include<set>

#include<queue>

#include<string>

#include<sstream>

#include<iostream>

#include<sstream>

#include<stack>

#include<map>

#include<vector>

#include<cstring>

#include<cstdlib>

#include<cstdio>

using namespace std;



int x[3];

int main()

{

	int flag1 = 0,flag2 = 0;

	for (int i = 0; i < 3; i++)

	{

		scanf("%d", &x[i]);

	}

	for (int i = 0; i < 3; i++)

	{

		if (x[i] == 5)flag1++;

		if (x[i] == 7)flag2++;

	}

	if (flag1 == 2 && flag2 == 1)cout << "YES";

	else cout << "NO";

}


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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <cstdio>

#include <algorithm>



using namespace std;



int a, b, c, cnt_7, cnt_5;



int main()

{

	cin >> a >> b >> c;

	if(a == 5) cnt_5 ++;

	if(a == 7) cnt_7 ++;

	if(b == 5) cnt_5 ++;

	if(b == 7) cnt_7 ++;

	if(c == 5) cnt_5 ++;

	if(c == 7) cnt_7 ++;



	if(cnt_7 == 1 && cnt_5 == 2){

		cout << "YES" << endl;

		return 0;

	} else {

		cout << "NO" << endl;

		return 0;

	}

}

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

int main()

{

	int a[4];

	int i,x=0,y=0;

	while(~scanf("%d%d%d",&a[1],&a[2],&a[3]))

	{

    for(i=1;i<=3;i++)

    {

    	if(a[i]==5)x+=1;

	 	if(a[i]==7)y+=1;

    }

	 if(x==2&&y==1)

	 printf("YES\n");

	 else printf("NO\n");

   }

	 return 0;

	 

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

#include <algorithm>

#include <vector>



using namespace std;



int main(void) {

    vector<int> a(3);

    int i;

    for (i=0; i<3; i++) {

        cin >> a[i];

    }



    sort(a.begin(), a.end());

    if (a[0]==5&&a[1]==5&&a[2]==7) {

        cout << "YES\n";

    } else {

        cout << "NO\n";

    }



    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.295418835982629x):
#include <cstdio>

#include <algorithm>



using namespace std;



int main() {

    int A[3];

    for (int i=0; i<3; ++i)

        scanf("%d", &A[i]);



    sort(A, A+3);



    printf("%s\n", (A[0]==5&&A[1]==5&&A[2]==7)? "YES":"NO");

    return 0;

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



using namespace std;



int main()

{

    int A;

    int B;

    int C;

    cin >> A >> B >> C;

    if (A == 5 && B == 5 && C == 7)

    {

        cout << "YES";



    }

    else if (A == 5 && B == 7 && C == 5)

    {

        cout << "YES";



    }

    else if (A == 7 && B == 5 && C == 5)

    {

        cout << "YES";

    }

    else {

        cout << "NO";

    }



}

// Faster C++ solution for the same problem (measured speedup: 5.281305269852093x):
#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <string>

#include <cmath>

#include <algorithm>

#include <vector>

#include <map>

#include <queue>

#include <set>

using namespace std;

typedef long long LL;

const int MaxN = 1e5;

const int Inf = 1 << 30;



int main()

{

	int a[3];

	while(~scanf("%d %d %d",a,a + 1,a + 2)){

		sort(a,a + 3);

		if(a[0] == 5 && a[1] == 5 && a[2] == 7) printf("YES\n");

		else printf("NO\n");

	}

    return 0;

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

using namespace std;



#define getn int n; cin >> n

#define fori(n) for (int i = 0; i < (n); i++)

#define forj(n) for (int j = 0; j < (n); j++)

#define forifill(n,x) for (int i = 0; i < (n); i++) cin >> x[i]

#define foriprint(n,x) for (int i = 0; i < (n); i++) cout << x[i] << " "

#define all(x) (x).begin(), (x).end()

#define allr(x) (x).rbegin(), (x).rend()

#define unsync cin.sync_with_stdio(false), cin.tie(0)

#define inoutfile freopen("d:\\testcase.txt", "r", stdin);freopen("d:\\output.txt", "w", stdout)



typedef unsigned long long lng;





int main()

{

	unsync;



	int x[3];

	cin >> x[0] >> x[1] >> x[2];

	sort(x, x + 3);

	cout << ((x[0] == x[1] && x[0] == 5 && x[2] == 7) ? "YES\n" : "NO\n");

}

// Faster C++ solution for the same problem (measured speedup: 5.359496059301144x):
#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <string>

#include <cmath>

#include <algorithm>

#include <vector>

#include <map>

#include <queue>

#include <set>

using namespace std;

typedef long long LL;

const int MaxN = 1e5;

const int Inf = 1 << 30;



int main()

{

	int a[3];

	while(~scanf("%d %d %d",a,a + 1,a + 2)){

		sort(a,a + 3);

		if(a[0] == 5 && a[1] == 5 && a[2] == 7) printf("YES\n");

		else printf("NO\n");

	}

    return 0;

}