require 'set'

N, M = gets.split.map(&:to_i)

edges = {}

deg = Hash.new(0)

M.times do
  x, y = gets.split.map(&:to_i)
  edges[x-1] ||= Set.new
  edges[x-1] << y-1
  edges[y-1] ||= Set.new
  edges[y-1] << x-1

  deg[x-1] += 1
  deg[y-1] += 1
end

start = nil

deg.each do |k, v|
  start = k if v >= 6 and v.even?
end

if start.nil?
  puts "No"
  exit
end

deg.each do |k, v|
  unless v.even?
    puts "No"
    exit
  end
end

puts "Yes"

exit



edge_num = M
current = start

while edge_num > 0
#  puts current
  n = edges[current].first
  if n.nil?
    puts "No"
    exit
  end
  edges[current].delete n
  edges[n].delete current

  current = n

  edge_num -= 1
end
  
puts "Yes"
