import sys def debug(x, table): for name, val in table.items(): if x is val: print('DEBUG:{} -> {}'.format(name, val), file=sys.stderr) return None def solve(): N, K = map(int, input().split()) Ds = [int(i) - 1 for i in input().split()] checked = [False] * N num_gokan = 0 for i in range(N): if checked[i]: continue checked[i] = True len_cyc = 0 nxt = Ds[i] while not checked[nxt]: checked[nxt] = True nxt = Ds[nxt] len_cyc += 1 num_gokan += len_cyc if num_gokan <= K and num_gokan % 2 == K % 2: ans = 'YES' else: ans = 'NO' print(ans) if __name__ == '__main__': solve()