#define _USE_MATH_DEFINES
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <deque>
#include <queue>
#include <set>
#include <functional>
#include <cmath>
#include <set>
#include <map>


//マクロ
#define REP(i,n) for(int i=0; i<(int)(n); ++i)
#define REPS(i,n) for(int i=1; i<=(int)(n); ++i)
#define RREP(i,n) for(int i=(int)(n)-1; i>=0; --i)
#define RREPS(i,n) for(int i=(int)(n); i>0; --i)
#define FOR(i,s,e) for(int i=(int)(s); i<(int)(e); ++i)
#define RFOR(i,s,e) for(int i=(int)(e)-1; i>=(int)(s); --i)
#define All(a) (a).begin(),(a).end()
#define RAll(a) (a).rbegin(),(a).rend()
#define dump(x)  cerr << #x << " = " << (x) << endl;

//定数
#define INF 1e9
#define INFL 1e18
#define MOD (int)(1e9+7)

typedef long long ll;
typedef unsigned long long ull;
/*
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int, int> pii;
//*/
using namespace std;
using Graph = vector<vector<int>>;

//とりあえず書いておく変数
int dx[4] = { 1,0,-1,0 };
int dy[4] = { 0,1,0,-1 };

//今回の変数
ll dp[11][11];
int ans[11];

//使用する関数
template<class T>bool chmax(T &a, const T &b) {
	if (a < b) { a = b; return 1; }
	return 0;
}
template<class T>bool chmin(T &a, const T &b) {
	if (a > b) { a = b; return 1; }
	return 0;
}

void sol(ll sum, int i, int j, int k) {
	if (i == 0)return;
	if (i == 1) {
		ans[i] = j;
		return;
	}
	if (j != 0) {
		if (sum + dp[i - 1][j - 1] < k) {
			sum += dp[i - 1][j - 1];
		}
		else {
			ans[i] = j;
			sol(sum, i - 1, j - 1, k);
		}
	}

	if (sum + dp[i - 1][j] < k) {
		sum += dp[i - 1][j];
	}
	else {
		ans[i] = j;
		sol(sum, i - 1, j, k);
	}

	if (j != 9) {
		if (sum + dp[i - 1][j + 1] < k) {
			sum += dp[i - 1][j + 1];
		}
		else {
			ans[i] = j;
			sol(sum, i - 1, j + 1, k);
		}
	}
}



int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	string s;
	cin >> s;

	REP(i, 3) {
		if (s[i] == '7') {
			cout << "Yes" << endl;
			return 0;
		}
	}
	cout << "No" << endl;
}