AT_abc371_g [ABC371G] Lexicographically Smallest Permutation

题目描述

给定 $ (1,2,\ldots,N) $ 的一个排列 $ P=(P_1,P_2,\ldots,P_N) $ 和 $ A=(A_1,A_2,\ldots,A_N) $。 你可以进行任意次(包括 $0$ 次)如下操作: - 对于 $ i=1,2,\ldots,N $,**同时**将 $ A_i $ 替换为 $ A_{P_i} $。 请输出所有可能得到的 $ A $ 中,字典序最小的一个。 字典序的定义如下:对于长度为 $ N $ 的序列 $ A=(A_1,A_2,\ldots,A_N),B=(B_1,B_2,\ldots,B_N) $,若存在某个整数 $ i\ (1\leq i\leq N) $,使得 $ A_i

输入格式

输入以如下格式从标准输入给出。 > $ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $

输出格式

请输出所有可能得到的 $ A $ 中,字典序最小的一个。输出格式为 $ (A_1,A_2,\ldots,A_N) $,用空格分隔,输出一行。

说明/提示

### 限制条件 - $ 1\leq N\leq 2\times 10^5 $ - $ 1\leq P_i\leq N\ (1\leq i\leq N) $ - $ P_i\neq P_j\ (1\leq i