#SGM0000060. Mảng may mắn (Lucky Array)

Mảng may mắn (Lucky Array)

Mảng may mắn (Lucky Array)

Nguồn: Codeforces

Phiên bản: Phước Hưng OJ Extended

Đề bài

Một số dương là may mắn nếu biểu diễn thập phân chỉ gồm chữ số 4 và 7. Cho mảng số dương và hai loại thao tác:

  • add l r d: cộng dd vào mọi phần tử của đoạn [l,r][l,r].
  • count l r: đếm bao nhiêu phần tử trong [l,r][l,r] hiện là số may mắn.

Các thao tác được bảo đảm sao cho giá trị phần tử không vượt 10410^4.

Input

Dòng đầu chứa n,mn,m. Dòng thứ hai chứa mảng ban đầu. Mỗi dòng sau là add l r d hoặc count l r.

Output

Với mỗi thao tác count, in số lượng số may mắn trên một dòng.

Subtask

  • Subtask 1 (20%): n,m≤30; các điều kiện khác giữ như bài đầy đủ.

  • Subtask 2 (30%): n,m≤3000; các điều kiện khác giữ như bài đầy đủ.

  • Subtask 3 (50%): toàn bộ giới hạn:

  • 1≤n,m≤1051\le n,m\le10^5

  • 1≤ai≤1041\le a_i\le10^4

  • 1≤d≤1041\le d\le10^4

  • sau các phép cộng, mọi phần tử không vượt 10410^4

Ví dụ

Input

3 6
2 3 4
count 1 3
count 1 2
add 1 3 2
count 1 3
add 2 3 3
count 1 3

Output

1
0
1
1

Giải thích

Bắt đầu [2,3,4]: chỉ 4 may mắn nên count 1 3 = 1. Cộng 2 thành [4,5,6], vẫn có đúng một số may mắn. Cộng 3 vào vị trí 2..3 thành [4,8,9], kết quả vẫn là 1.