n,k,*d=$<.read.split.map &:to_i i,z=0,[] n.times{ m=i+1 j=d.index m next(i=m)if d[i]==m || z[j]==0 z[i],i=0,j } c=z.count 0 puts c<=k&&(k-c)&1==0 ? :YES : :NO