#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ull unsigned long long
#define ll long long
#define clr(v,d) memset(v,d,sizeof(v))
#define ff first
#define ss second
#define all(v) ((v).begin()), ((v).end())
#define allr(v) ((v).rbegin()), ((v).rend())
#define pb push_back
#define iq(v) v.resize(unique(v.begin(),v.end())-v.begin())
#define bye return 0
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define TC int t_t=1;cin>>t_t;while (t_t--)
#define endl '\n'
#define clr(v,d) memset(v,d,sizeof(v))
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
const int oo = 1e9 ;
const ll Mod=1e9+7;
const int N = 2e5+5, M = 1e4+5 ;
int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,1,-1};
void fast(){
std::ios_base::sync_with_stdio(0);
cin.tie(NULL);
#ifndef ONLINE_JUDGE
freopen("Input.txt", "r", stdin);
freopen("Output.txt", "w", stdout);
#endif
}
string to_capital(string x )
{
for (int i=0 ; i<x.size() ;i++)
if (islower(x[i]))x[i] = x[i] - 'a' + 'A' ;
return x ;
}
int main() {
fast() ;
string x ;
cin>>x ;
int cnt = 0 ;
x = to_capital(x) ;
int freq[26] = {} ;
for (int i=0 ;i<x.size() ;i++)
freq[x[i] - 'A']++;
/// ATYPICAL
if (freq[0] >= 2 )cnt+=2 ;
if (freq['T' - 'A'] >=1 )cnt++;
if (freq['Y' - 'A'] >=1 )cnt++;
if (freq['P' - 'A'] >=1 )cnt++;
if (freq['I' - 'A'] >=1 )cnt++;
if (freq['C' - 'A'] >=1 )cnt++;
if (freq['L' - 'A'] >=1 )cnt++;
if (cnt == 8 )
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
Copy