/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
public static void main
(String[] args
) {
int[] arr = {5, 12, 8, 21, 3, 17, 9, 14, 6, 25};
int n = arr.length;
List<Integer> chainSizes = new ArrayList<>();
boolean[] visited = new boolean[n];
for (int start = 0; start < n; start++) {
if (visited[start]) continue;
int size = 1;
visited[start] = true;
int current = start;
while (true) {
int next = (current + 1) % n;
if (visited[next]) break;
if (gcd(arr[current], arr[next]) > 1) {
size++;
visited[next] = true;
current = next;
} else {
break;
}
}
if (size > 1) {
chainSizes.add(size);
}
}
int sum = 0;
for(int k = 2; k <= n; k++){
for(int i = 0; i < chainSizes.size(); i++){
sum += chainSizes.get(i) / (k-1);
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKIHN0YXRpYyBpbnQgZ2NkKGludCBhLCBpbnQgYikgewogICAgICAgIHdoaWxlIChiICE9IDApIHsKICAgICAgICAgICAgaW50IHRlbXAgPSBiOwogICAgICAgICAgICBiID0gYSAlIGI7CiAgICAgICAgICAgIGEgPSB0ZW1wOwogICAgICAgIH0KICAgICAgICByZXR1cm4gYTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgogICAgICAgIGludFtdIGFyciA9IHs1LCAxMiwgOCwgMjEsIDMsIDE3LCA5LCAxNCwgNiwgMjV9OwogICAgICAgIGludCBuID0gYXJyLmxlbmd0aDsKCiAgICAgICAgTGlzdDxJbnRlZ2VyPiBjaGFpblNpemVzID0gbmV3IEFycmF5TGlzdDw+KCk7CgogICAgICAgIGJvb2xlYW5bXSB2aXNpdGVkID0gbmV3IGJvb2xlYW5bbl07CgogICAgICAgIGZvciAoaW50IHN0YXJ0ID0gMDsgc3RhcnQgPCBuOyBzdGFydCsrKSB7CgogICAgICAgICAgICBpZiAodmlzaXRlZFtzdGFydF0pIGNvbnRpbnVlOwoKICAgICAgICAgICAgaW50IHNpemUgPSAxOwogICAgICAgICAgICB2aXNpdGVkW3N0YXJ0XSA9IHRydWU7CgogICAgICAgICAgICBpbnQgY3VycmVudCA9IHN0YXJ0OwoKICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIGludCBuZXh0ID0gKGN1cnJlbnQgKyAxKSAlIG47CgogICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRbbmV4dF0pIGJyZWFrOwoKICAgICAgICAgICAgICAgIGlmIChnY2QoYXJyW2N1cnJlbnRdLCBhcnJbbmV4dF0pID4gMSkgewogICAgICAgICAgICAgICAgICAgIHNpemUrKzsKICAgICAgICAgICAgICAgICAgICB2aXNpdGVkW25leHRdID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV4dDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChzaXplID4gMSkgewogICAgICAgICAgICAgICAgY2hhaW5TaXplcy5hZGQoc2l6ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaW50IHN1bSA9IDA7CiAgICAgICAgZm9yKGludCBrID0gMjsgayA8PSBuOyBrKyspewogICAgICAgIAlmb3IoaW50IGkgPSAwOyBpIDwgY2hhaW5TaXplcy5zaXplKCk7IGkrKyl7CiAgICAgICAgCXN1bSArPSBjaGFpblNpemVzLmdldChpKSAvIChrLTEpOwogICAgICAgIAl9CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoc3VtKTsKCX0KfQ==