Problem:
A: 不思議な植物

問題

あるところに不思議な $X$ [cm] の植物が生えている.
この植物は以下の不思議な性質を持っている.

この植物に "nobiro" と声を掛けると, その植物は $A$ [cm] 成長する.

この植物に "tidime" と声を掛けると, その植物は $B$ [cm] 成長する.

この植物に "karero" と声をかけると, その植物は $0$ [cm] になる.

ただし, この植物は負の長さにはならないとする.
具体的には, $C$ [cm] の状態から $D$ [cm] $(C + D \lt 0)$ 成長するとき, 植物は $0$ [cm] になったときに成長が止まる.

この植物に $N$ 日間, 毎日一度だけ "nobiro", "tidime", "karero" のうちどれか
一つの言葉をかけた. $N$ 日後の植物の長さ [cm] を求めよ.

制約

入力値は全て整数である.

$0 \leq X \leq 100$

$-100 \leq A,B \leq 100$

$1 \leq N \leq 1000$

$S_i$ は "nobiro", "tidime" または "karero" のいずれかである.

入力形式

入力は以下の形式で与えられる.

$X\ A\ B$

$N $

$S_1$

$S_2$

$\vdots$

$S_N$

出力

$N$ 日後の植物の長さを出力せよ. また末尾に改行を出力せよ.

サンプル

サンプル入力 1

10 30 10
3
nobiro
nobiro
tidime

サンプル出力 1

80

サンプル入力 2

10 -20 -30
1
nobiro

サンプル出力 2

0

Solution in C# (judge verdict: Accepted)

using static System.Math;
using System;

public class hello
{
    public static void Main()
    {
        string[] line = Console.ReadLine().Trim().Split(' ');
        var x = int.Parse(line[0]);
        var a = int.Parse(line[1]);
        var b = int.Parse(line[2]);
        var n = int.Parse(Console.ReadLine().Trim());
        getAns(x, a, b, n);
    }
    static void getAns(int x, int a, int b, int n)
    {
        var t = x;
        for (int i = 0; i < n; i++)
        {
            var s = Console.ReadLine().Trim();
            if (s[0] == 'n')
            {
                t += a;
                t = Max(0, t);
            }
            else if (s[0] == 't')
            {
                t += b;
                t = Max(0, t);
            }
            else t = 0;
        }
        Console.WriteLine(t);
    }
}