Problem:
Score : 100 points

Problem Statement

We have two bottles for holding water.

Bottle 1 can hold up to A milliliters of water, and now it contains B milliliters of water.

Bottle 2 contains C milliliters of water.

We will transfer water from Bottle 2 to Bottle 1 as much as possible.

How much amount of water will remain in Bottle 2?

Constraints

All values in input are integers.

1 \leq B \leq A \leq 20

1 \leq C \leq 20

Input

Input is given from Standard Input in the following format:

A B C

Output

Print the integer representing the amount of water, in milliliters, that will remain in Bottle 2.

Sample Input 1

6 4 3

Sample Output 1

1

We will transfer two milliliters of water from Bottle 2 to Bottle 1, and one milliliter of water will remain in Bottle 2.

Sample Input 2

8 3 9

Sample Output 2

4

Sample Input 3

12 3 7

Sample Output 3

0

Solution in C# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
class Program
{
    static int x;
    static List<int> child = new List<int>();
    static List<int> childs = new List<int>();
    static string result;
    static void Main()
    {
        string tmp2 = Console.ReadLine();
        for (int i = 0; i < tmp2.Length; i++) { childs.Add(0); if (tmp2.Substring(i, 1) == "L") { child.Add(-1); } else { child.Add(1); } }
        /*
        x = tmp2.Length * 2;
        for (int j = 0; j < x; j++) {
        for (int i = 0; i < child.Count; i++) {
            if (child[i] > 0 && childs[i]>0) { childs2[i + 1]++;childs2[i]--; }
                if (child[i] < 0 && childs[i]>0) { childs2[i - 1]++; childs2[i]--; }
            }
            for (int i = 0; i < child.Count; i++)
            {
                childs[i] = childs2[i];
            }
            }
            */
        int start = 0;
        int point = 0;
        int now = 1;
        int nowcount = 0;
        int childgather = 0;
        for (int i = 0; i < tmp2.Length; i++)
        {
            if (now == child[i]) { childgather++; }
            if (now != child[i])
            {
                if (nowcount == 1) { nowcount = 0; now = 1; childs[point] = childgather / 2; childs[point + 1] = childgather / 2; if (childgather % 2 > 0) { if ((point - start) % 2 == 0) { childs[point]++; } else { childs[point + 1]++; } } childgather = 1; start = i; }
                else { childgather++; nowcount++; now = -1; point = i - 1; }
            }
        }
        nowcount = 0; now = 1; childs[point] = childgather / 2; childs[point + 1] = childgather / 2; if (childgather % 2 > 0) { if ((point - start) % 2 == 0) { childs[point]++; } else { childs[point + 1]++; } }


        for (int i=0;i<tmp2.Length;i++) { result += childs[i].ToString() + " ";}
        //result = result.Substring(0,result.Length-1);
            Console.WriteLine(result);
            Console.Out.Flush();
        
    }

 


}