Gcd(n, d) is the total number of cyclic sequences formed by shifting array by d everytime

I am solving the problem Problem - F - Codeforces. Although I got the idea to solve it, I could not get the mathematical formula or intuition that the number of cyclic sequences formed can be gcd(a, b).

From the editorial Codeforces Round #744 (Div. 3) Editorial - Codeforces, I came to know that “Note that by shifts of d the array splits into gcd(n, d) cyclic sequences of this kind, each of length n/gcd(n, d)”.

Can anyone explain the mathematical intuition or provide some explanation for this formula? Thanks in advance!

Solution: Gcd(n, d) is the total number of cyclic sequences formed by shifting array by d everytime. - Codeforces