using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Runtime.Intrinsics.Arm; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, w) = (c[0], c[1]); var x = NList; var y = NList; var sum = new long[200_001]; for (var i = 0; i < n; ++i) sum[x[i]] += y[i]; var ans = 0L; for (var i = w; i < sum.Length; ++i) { var sub = 0L; for (var j = i; j < sum.Length; j += i) sub += sum[j]; ans = Math.Max(ans, sub); } WriteLine(ans); } }