아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Вафелька

시간 제한2초메모리 제한1024 MB

요약
길이가 m(a+b)인 부분 문자열 중에서 1을 지우는 것만으로 (1이 a개, 0이 b개)를 m번 반복한 패턴으로 만들 수 있는 개수를 센다.
난이도

보통10점 중 5점

유형
문자열, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

Все любят фильмы про супергероев. Но не все знают об истиных увлечениях супергероев. Железный человек любит выращивать розы, Халк обожает слушать рэп, Тор неравнодушен к живописи, а Чёрная Пантера без ума от вафелек.

Как и полагается настоящему гурману, у Чёрной Пантеры есть фирменный рецепт вкуснейших вафелек, которыми он угощает своих знакомых (никто не знает этот рецепт, ведь Пантера не хочет, чтобы люди знали о маленькой слабости супергероя). Фирменная вафелька Пантеры состоит из m⋅(a+b)m \cdot (a + b) квадратиков: первые aa квадратиков покрыты шоколадом, следующие bb квадратиков не покрыты шоколадом, последующие aa квадратиков покрыты шоколадом и так далее. Несложно заметить, в такой вафельке m⋅am \cdot a квадратиков покрыты шоколадом и m⋅bm \cdot b не покрыты.

Поскольку у супергероя много других дел, помимо выпекания вафелек, Чёрная Пантера часто делает вафельки не сам, а покупает вафельку в магазине, а потом как-то меняет её, чтобы она соответствовала рецепту Пантеры. Сегодня в магазине Пантера купила вафельку, состоящую из nn квадратиков. Некоторые квадратики покрыты шоколадом, некоторые --- нет. Пантера собирается отломить сколько-то квадратиков слева вафельки (возможно 0), сколько-то квадратиков справа вафельки (возможно 0), оставив непрерывный подотрезок квадратиков, состоящий из m⋅(a+b)m \cdot (a + b) квадратиков, а затем, возможно, убрать шоколад с некоторых квадратиков так, чтобы получилась её фирменная вафелька. Так как у Пантеры нет специального оборудования, она не будет наносить шоколад на квадратики, на которых его изначально не было. Обратите внимение, что Пантера не может развернуть вафельку после проделанных операций.

Помогите Пантере и найдите количество способов сделать фирменную вафельку из вафельки, купленной в магазине. Два способа считаются различными, если различаются множества квадратиков исходной вафельки, которые Пантера оставит.

입력

В первой строке задано целое число nn (1≤n≤1061 \le n \le 10^6) --- количество квадратиков в вафельке, которую Пантера купил в магазине.

Во второй строке задана строка, состоящая из nn символов, ii-й символ которой равен 1, если ii-й слева квадратик вафельки покрыт шоколадом и 0 иначе.

В третьей строке через пробел заданы три целых числа mm, aa и bb (1≤m,a,b1 \leq m, a, b, m⋅(a+b)≤nm \cdot (a + b) \leq n) --- параметры фирменной вафельки, описанные в условии.

출력

Выведите одно целое число --- искомое количество способов.

힌트

В первом тестовом примере у Пантеры есть два способа сделать фирменную вафельку:

  1. Оставить квадратики с номерами 1 и 2 и убрать шоколад с квадратика с номером 2.
  2. Оставить квадратики с номерами 2 и 3.

Пантера не может оставить квадратики с номерами 3 и 4, так как квадратик с номером 3 не покрыт шоколадом, а первый квадратик фирменной вафельки должен быть покрыт шоколадом.

Во втором тестовом примере Пантера не может сделать фирменную вафельку, так как не может развернуть шоколадку.

В третьем тестовом примере Пантера может оставить купленную вафельку нетронутой.

예제4

  1. 예제 1

    입력
    4
    1101
    1 1 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    01
    1 1 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    10
    1100011000
    2 2 3
    
    예상 출력
    1
    
  4. 예제 4

    입력
    10
    1111111010
    2 1 1
    
    예상 출력
    6