#492. 越野跑步

越野跑步

Background

Special for beginners, ^_^

Description

为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训 练。贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定: 奶牛独自进山的时间不得超过 M 秒(1 <= M <= 10 000 000)。 整条山路被贝茜划分成 T 个长度相同的小段(1 <= T <= 100 000),并且, 贝茜用 S_i 表示第 i 个小段的路况。S_i 为 u,f,d 这 3 个字母之一,它们分别 表示第 i 个小段是上坡、平地,或是下坡。 贝茜要花 U 秒(1 <= U <= 100)才能跑完一段上坡路,跑完一段平地的耗时 是 F 秒(1 <= F <= 100),跑完一段下坡路要花 D 秒(1 <= D <= 100)。注意,沿 山路原路返回的时候,原本是上坡路的路段变成了下坡路,原本是下坡路的路段 变成了上坡路。 贝茜想知道,在能按时返回农场的前提下,她最多能在这条山路上跑多远。

Format

Input

第 1 行 5 个用 1 个空格隔开的整数:M,T,U,F,以及 D; 第 2..T+1 行: 第 i+1 行为 1 个字母 S_i,描述了第 i 段山路的路况。

Output

输出 1 行 1 个整数,为贝茜在按时回到农场的前提下,最多能跑到多远。

Samples

13 5 3 2 1
u
f
u
d
f
3

Limitation

对于 40%的数据满足:1 <= M <= 2 000; 对于 50%的数据满足:1 <= M <= 35 000; 对于 60%的数据满足:1 <= M <= 130 000; 对于 70%的数据满足:1 <= M <= 520 000; 对于 80%的数据满足:1 <= M <= 1100 000; 对于 100%的数据满足:1 <= M <= 10 000 000, 且 1 <= T <= 100 000,1 <= U,D,F <= 100。