main :: IO ()
main = do
  s <- getLine
  let s1 = tail s   -- sの最初の文字を落とす。delete 1 s でもOK --
  let s2 = init s   -- sの最後の文字を落とす。take 3 s でもOK -- 
  if judge s1 || judge s2
    then putStrLn  "Yes"
    else putStrLn  "No"

judge s
  -- sの最初の文字(s !! 0)を3回繰り返したものと、sが同じかどうか比較
  | s == (replicate 3 (s !! 0)) = True
  | otherwise                   = False
