#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<deque>
#include<stack>
#include<string>
#include<string.h>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#include<stdlib.h>
#include<cassert>
#include<time.h>
#include<bitset>
using namespace std;
const long long mod=998244353;
const long long inf=mod*mod;
const long long d2=(mod+1)/2;
const double EPS=1e-13;
const double PI=acos(-1.0);
int ABS(int a){return max(a,-a);}
long long ABS(long long a){return max(a,-a);}
double ABS(double a){return max(a,-a);}
int p[310000];
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
p[b]=p[c]=1;int d;scanf("%d",&d);
while(d--){
int q;scanf("%d",&q);if(p[q]){printf("NO\n");return 0;}p[q]=1;
}printf("YES\n");
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:29:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&a,&b,&c);
^
./Main.cpp:30:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
p[b]=p[c]=1;int d;scanf("%d",&d);
^
./Main.cpp:32:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int q;scanf("%d",&q);if(p[q]){printf("NO\n");return 0;}p[q]=1;
^