4472: 最小移动距离
          内存限制:256 MB
          时间限制:1 S
          
          
          
          标准输入输出
      
      
          题目类型:传统
          评测方式:Special Judge
          上传者:
      
      
          提交:17
          通过:9
      
题目描述
	平面上有 n 个点,编号为 1∼n。
	对于每个点 i(1≤i≤n),都存在一条从点 i 到点 ai(1≤ai≤n,ai 可以等于 i)的有向边。
	所有边的长度均为 1。
	请你判断是否存在一个最小移动距离 t(t≥1),使得:
- 我们规定,如果从点 u 出发,移动 t 单位长度距离后,到达点 v,就称点 v 是点 u 的目标点。注意,一个点的目标点也可能是它自己。
- 对于图中的每个点 x,如果点 y 是点 x 的目标点,则点 x 也必须是点 y 的目标点。
	如果存在这样的 t,请你输出 t 的最小可能值,否则请你输出 -1。
输入格式
	第一行包含一个整数 n。
	第二行包含 n 个整数 a1,a2,…,an。
输出格式
	如果存在满足条件的 t(t≥1),则输出一个正整数,表示 t 的最小可能值。
	否则输出 -1。
输入样例 复制
4
2 3 1 4输出样例 复制
3数据范围与提示
前 3 个测试点满足 1≤n≤4。
所有测试点满足 1≤n≤100,1≤ai≤n。
	
	
        所有测试点满足 1≤n≤100,1≤ai≤n。
输入样例2:
4 4 4 4 4
输出样例2:
-1 
	输入样例3:
4 2 1 4 3
输出样例3:
1