n,k = gets.split.map(&:to_i) d = gets.split.map(&:to_i) d = d.map { |v| v-1 } cnt = 0 n. n.times do |i| if d[i] == i next else t = d.index(i) tm = d[t] d[t] = d[i] d[i] = tm cnt += 1 end end if cnt == 0 if k.even? puts "YES" else puts "NO" end elsif cnt == k || (k - cnt) / 2 == 0 puts "YES" else puts "NO" end