void main(){
	string n = readln().chomp();
	int cnt, ans;
	foreach(i; 0..n.length){
		if(cnt==0)cnt++;
		else if(n[i-1]==n[i])cnt++;
		else cnt=1;

		ans = max(cnt, ans);
	}
	( ans>=3?"Yes":"No" ).writeln();
}
     
import std.stdio, std.conv, std.algorithm, std.numeric, std.string, std.math, std.range;
const long mod = 10^^9+7;      
// 1要素のみの入力
T inelm(T= int)(){
	return to!(T)( readln().chomp() );
}
     
// 1行に同一型の複数入力
T[] inln(T = int)(){
	T[] ln;
	foreach(string elm; readln().chomp().split())ln ~= elm.to!T();
	return ln;
}
