package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n,a,b,c int Fscan(rd,&n,&a,&b,&c) f := make([]bool, 5e6+1) p := 0 ans := 0 for i := 0; i < n; i++ { f[p] = true var s string Fscan(rd,&s) p += len(s) if p < a+b+c { continue } if f[p-c]&&f[p-b-c]&&f[p-a-b-c] { ans++ } } Println(ans) } /* 考察 len(S)の累積和を用意して 累積和の先頭から走査して、しゃくとり法や二分探索でa,a+b,a+b+cを見つけるとかかなあ・・・ */