#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ss second
#define ff first
#define pb push_back
unordered_map<ll,std::vector<ll>> graph;
unordered_map<ll,ll> vis,dp;
ll level = 0;

ll dfs(ll s,ll l)
{
    level = max(level,l);
    ll ans = 0;
    
    for(ll i=0;i<graph[s].size();i++){
        
        if(vis[graph[s][i]]==0){
            vis[graph[s][i]]=1;
            ans += 1 + dfs(graph[s][i],l+1);
        }
    }
    
    return dp[s] = ans;
        
}

void bfs(ll s,ll k)
{
    queue<pair<ll,ll>> pq;
    
    pq.push({s,0});
    // ll level = 0;
    vector<vector<pair<ll,ll>>> v(level+10);
    
    vis.clear();
    vis[1] = 1;
    
    
    while(!pq.empty())
    {
        auto s = pq.front();
        pq.pop();
        v[s.ss].push_back({dp[s.ff],s.ff});
        // vis[s.ff] = 0;
        for(ll i=0;i<graph[s.ff].size();i++){
            if(vis[graph[s.ff][i]]==0){
                vis[graph[s.ff][i]]=1;
                pq.push({graph[s.ff][i],s.ss+1});
            }
        }
    }
    
    ll ans = 0;
    vector<ll> a;
    
    
    for(ll i=level;i>=0;i--){
        for(ll j=0;j<v[i].size();j++)
        {
            // st.insert({v[i][j].ff,v[i][j].ss});
            a.push_back(i - v[i][j].ff);
        } 
    }
    
    sort(a.begin(),a.end());
    reverse(a.begin(),a.end());
    
    for(ll i:a){
        ans += i;
        k--;
        if(k==0){
            break;
        }
    }
    cout<<ans;
    
}

void solve()
{
    string s;cin>>s;
    if(s[0]=='7' or s[1]=='7' or s[2] == '7')   cout<<"Yes\n";
    else    cout<<"No\n";
    
}


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    
    // ll t;cin>>t;while(t--)
    {
        solve();
    }
    
	return 0;
}
