#include <stdio.h>
#include <string.h>

int main()
{
    int a[100100];
    int b[100010];
    int n = 9, i, j, k, max = 0;

    scanf("%d", &n); //输入
    for (i = 1; i <= n; i++)
        scanf("%d", &a[i]);

    for (i = 1; i <= n; i++) //n: 总共多少个数
    {
        for (k = i, j = 0; j < n; j++)
        {
            b[j] = a[k]; //数组 a 用来存储输入的 n 个数
            k = b[j];
            if (b[j] == i)
            {
                if (max < (j + 1))
                {
                    max = j + 1;
                    break;
                }
                break;
            }
        }
        memset(b, 0, sizeof(b));
    }
    printf("%d", max);
    return 0;
}