using static System.Math; using System; public class Hello { static void Main() { var n = int.Parse(Console.ReadLine().Trim()); string[] line = Console.ReadLine().Trim().Split(' '); var a = Array.ConvertAll(line, int.Parse); getAns(n, a); } static void getAns(int n, int[] a) { var ans = 0; Array.Sort(a); var amax = a[n - 1]; var b = new bool[amax + 1]; var used = new bool[amax + 1]; for (int i = 0; i < n; i++) b[a[i]] = true; for (int i = 0; i < n; i++) { if (used[a[i]]) continue; var p = a[i]; var count = 0; { while (p <= amax) { if (b[p]) { count++; used[p] = true; p += p; } else p += a[i]; } } ans = Max(ans, count); } Console.WriteLine(ans); } }