Problem: 

Interaction

This is an interactive problem. You need to read participants' queries from standard input and print your responses to standard output. You don't know the number of queries upfront, so you'll need to process them as you get them; you'll know you're done once you reach the end of the file.

In each query, you will be asked the question, written in one line. You have to answer it correctly, patiently and without any display of emotions. Your response is case-insensitive.

Please make sure to use the stream flushing operation after each response in order not to leave part of your output in some buffer.

Example

Input


Is it rated?
Is it rated?
Is it rated?


Output


NO
NO
NO

Solution (in CPP):

Solution:
//Author Manu Pathria
#include "bits/stdc++.h"
#define lli long long int
#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define ff first
#define ss second
#define vp vector <pair<int,int>>
#define setbit(x) __builtin_popcountll(x)
#define pb push_back
#define mk make_pair
#define si size()
#define countdigit(x) floor( log10(x) +1)
#define M 1000000007
#define endl "\n"
#define re return
#define lower(v,a) lower_bound(v.begin(),v.end(),a)
#define upper(v,a) upper_bound(v.begin(),v.end(),a)
#define rep(i,n)  for(int i=0;i<n;i++)
#define setbits(n)  __builtin_popcount(n)
#define setbitsl(n) __buitlin_popcountl(n)
#define setbitsll(n) __buitlin_popcountll(n)
#define parity(x)  __builtin_parity(x)        // __builtin_parityl(),_builtin_parityll()
using namespace std;

bool isPrime(int x){
    if(x==1){ return false; }
    if(x==2 || x==3){ return true;}
    if(x%2==0 || x%3==0){ return false;}

    for(int i=5;i*i<=x;i+=6){
        if(x%i==0 || x%(i+2)==0){ return false;}
    }return true;
}

long long gcd(long long int a, long long int b)
{
  if (b == 0)
    return a;
  return gcd(b, a % b);
}
 
// Function to return LCM of two numbers 
long long lcm(int a, int b)
{
    return (a / gcd(a, b)) * b;
}

void factorize(vp &v,int num){
    for(int i=2;i*i<=num;i++){
        if(num%i==0){
            int cnt=0;
            while(num%i==0){
                cnt++; num/=i;
            }
            v.pb({i,cnt});
        }
    }
    if(num>1){
        v.pb({num,1});
    }
}

bool sortinrev(const pair<int,int> &a,  //desc of vp
               const pair<int,int> &b)
{
    return (a.first > b.first);
}

lli power(lli a,lli n,lli p){
    lli res=1;
    while(n){
        if(n%2){
            res=((res%p) * (a%p))%p;
        }
        a=((a%p) * (a%p))%p;
        n/=2;
    }
    return res;
}
void sieve(){
    int arr[1000001];
    int maxN=1000000;
    for(int i=1;i<=maxN;i++){
        arr[i]=-1;
    }
    for(int i=2;i<=maxN;i++){
        if(arr[i]==-1){
            for(int j=i;j<=maxN;j+=i){
                if(arr[j]==-1){
                    arr[j]=i;
                }
            }
        }
    }
    int n=100;
    cout<<arr[n];
    n/=arr[n];
    while(n>1){
        cout<<" x "<<arr[n];
        n/=arr[n];
    }
}

lli ncr(int n, int r)
{
    lli res = 1;
    // bcz C(n, r) = C(n, n-r) if (r>n-r)
    if (r > n-r) {
         r=n-r;
    }
    // res= [n*(n-1)*---*(n-k+1)] / [k*(k-1)*---*1]
    for (int i = 0; i < r; i++) {
        res *= (n - i);
        res /= (i + 1);
    }
    return res;
}
int bs(int arr[],int l,int r,int x){
    while(l<=r){
        int mid=l+(r-l)/2;
        if(x==arr[mid]){
            return mid;
        }else if(x>arr[mid]){
            l=mid+1;
        }else{
            r=mid-1;
        }
    }
    return -1;
}
int firstocc(int arr[],int n,int x){
    int l=0,r=n-1,ans=-1;
    while(l<=r){
        int mid=l+(r-l)/2;
        if(arr[mid]==x){
            ans=mid;
            r=mid-1;
        }else if(x>arr[mid]){
            l=mid+1;
        }else{
            r=mid-1;
        }
    }
    return ans;
}
int lastocc(int arr[],int n,int x){
    int l=0,r=n-1,ans=-1;
    while(l<=r){
        int mid=l+(r-l)/2;
        if(arr[mid]==x){
            ans=mid;
            l=mid+1;
        }else if(x>arr[mid]){
            l=mid+1;
        }else{
            r=mid-1;
        }
    }
    return ans;
}
void reverse(lli arr[],int s,int e){
    while(s<e){
        lli t=arr[s];
        arr[s]=arr[e];
        arr[e]=t;
        s++;
        e--;
    }
}
int lower1(vector<int> &a, int x)     //Returns leftest index of x in sorted arr else n
{                                                  //If not present returns index of just greater element
 	    int n=a.size();
   	    int l=0;
        int r=n-1;
        int ans=n-1;
        while(l<=r){
            int m=l+ (r-l)/2;
            if(a[m]>=x){
                ans=m;
                r=m-1;
            }
            else{
                 l=m+1;
            }
       }
     return ans; 
} 
int find(double y,double x,double lim){
    int l=1,hi=1e9;
    int res=0;
    while(l<=hi){
        int mid=(l+hi)/2;
        double r=(x/ (y+(double)mid));
        if(r<=lim){
            res=mid;
            hi=mid-1;
        }else{
            l=mid+1;
        }
    }
    return res;
}
lli find(lli n,lli k){
    if(n==1){
        return 1;
    }
    if( 2*k ==  pow(2,n)){
        return n;
    }
    if(2*k < pow(2,n) ){
        return find(--n,k);
    }else{
        return find(--n,k-(pow(2,n)/2) );
    }
}
int decode()
{
    lli n;
    cin>>n;
    if(n%2==1){
        cout<<"NO"<<endl;
    }else{
        
        
        
    }
    
    //vector<int> v;
    //vp pairs;
    //pairs.pb(mk( , ));
    //unordered_set<int> se;
    
    //rep(i,n){cin>>v[i];}
    //rep(i,n){cin>>arr[i];}

    //sort(v.begin(),v.end());
    //sort(arr,arr+n);
    
    re 0;
}
int main()
{
   
    string s;
    
    while(getline(cin,s)){
        cout<<"NO"<<endl;
        if(cin.eof()){break;}
    }
    
    re 0;
}