Досяжність
У вас є орієнтований граф з \(n\) вершинами, пронумерованими від \(1\) до \(n\), і \(n\) ребрами. Степінь виходу кожної вершини дорівнює \(1\), і ребро від вершини \(i\) вказує на вершину \(a_i\). Порахуйте кількість пар вершин \(u, v\), таких що вершина \(v\) досяжна з вершини \(u\).
Тут вершина \(v\) досяжна з вершини \(u\), якщо існує послідовність вершин \(w_0, w_1, ..., w_k\) довжиною \(k+1\), яка задовольняє наступним умовам.
- \(w_0 = u\).
- \(w_k = v\).
- Для кожного \(0 \le i < K\) існує ребро від вершини \(w_i\) до вершини \(w_{i+1}\).
Зокрема, якщо \(u = v\), то вершина завжди досяжна.
Input Specification
У першому рядку знаходиться число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) - кількість вершин.
У другому рядку міститься \(n\) чисел \(a_i\) (\(1 \le a_i \le n\)).
Output Specification
Виведіть кількість шуканих пар.
Sample Input 1
4
2 1 1 4
Sample Output 1
8
Sample Input 2
5
2 4 3 1 2
Sample Output 2
14
Sample Input 3
10
6 10 4 1 5 9 8 6 5 1
Sample Output 3
41
Comments