package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n, w int Fscan(rd,&n,&w) xs := make([]int, n) for i := range xs { Fscan(rd,&xs[i]) } ys := make([]int, n) for i := range ys { Fscan(rd,&ys[i]) } sum := make([]int, 2e5+1) for i, x := range xs { y := ys[i] for p := 1; p*p <= x; p++ { if x % p != 0 { continue } q := x / p if p >= w { sum[p] += y } if p != q && q >= w { sum[q] += y } } } ans := 0 for _, s := range sum[w:] { ans = max(ans, s) } Println(ans) }