小藍(lán)有一個(gè)長度為 n 的數(shù)組 A = (a1, a2, · · · , an),數(shù)組的子數(shù)組被定義為從原數(shù)組中選出連續(xù)的一個(gè)或多個(gè)元素組成的數(shù)組。數(shù)組的最大公約數(shù)指的是數(shù)組中所有元素的最大公約數(shù)。如果最多更改數(shù)組中的一個(gè)元素之后,數(shù)組的最大公約數(shù)為 g,那么稱 g 為這個(gè)數(shù)組的近似 GCD。一個(gè)數(shù)組的近似 GCD 可能有多種取值。
具體的,判斷 g 是否為一個(gè)子數(shù)組的近似 GCD 如下:
1. 如果這個(gè)子數(shù)組的最大公約數(shù)就是 g,那么說明 g 是其近似 GCD。
2. 在修改這個(gè)子數(shù)組中的一個(gè)元素之后(可以改成想要的任何值),子數(shù)組的最大公約數(shù)為 g,那么說明 g 是這個(gè)子數(shù)組的近似 GCD。
小藍(lán)想知道,數(shù)組 A 有多少個(gè)長度大于等于 2 的子數(shù)組滿足近似 GCD 的值為 g。
輸入的第一行包含兩個(gè)整數(shù) n, g,用一個(gè)空格分隔,分別表示數(shù)組 A 的長度和 g 的值。
第二行包含 n 個(gè)整數(shù) a1, a2, · · · , an,相鄰兩個(gè)整數(shù)之間用一個(gè)空格分隔。
輸出一行包含一個(gè)整數(shù)表示數(shù)組 A 有多少個(gè)長度大于等于 2 的子數(shù)組的近似 GCD 的值為 g 。
5 3 1 3 6 4 10
5
滿足條件的子數(shù)組有 5 個(gè):
[1, 3]:將 1 修改為 3 后,這個(gè)子數(shù)組的最大公約數(shù)為 3 ,滿足條件。
[1, 3, 6]:將 1 修改為 3 后,這個(gè)子數(shù)組的最大公約數(shù)為 3 ,滿足條件。
[3, 6]:這個(gè)子數(shù)組的最大公約數(shù)就是 3 ,滿足條件。
[3, 6, 4]:將 4 修改為 3 后,這個(gè)子數(shù)組的最大公約數(shù)為 3 ,滿足條件。
[6, 4]:將 4 修改為 3 后,這個(gè)子數(shù)組的最大公約數(shù)為 3,滿足條件。
對(duì)于 20% 的評(píng)測(cè)用例,2 ≤ n ≤ 102 ;
對(duì)于 40% 的評(píng)測(cè)用例,2 ≤ n ≤ 103;
對(duì)于所有評(píng)測(cè)用例,2 ≤ n ≤ 105 , 1 ≤ g, ai ≤ 109。