N, K = gets.split.map(&:to_i) D = gets.split.map(&:to_i) E = Hash.new D.each.with_index(1) do |d, idx| E[idx] = d end visited = Hash.new(false) cnt = 0 (1..N).each do |n| next if visited[n] cnt += 1 queue = [] queue << n until queue.empty? v = queue.shift next if visited[v] visited[v] = true queue << E[v] end end remain = K - (N - cnt) if remain >= 0 && remain % 2 == 0 puts 'YES' else puts 'NO' end