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 List<int> childs2 = 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 point = 0;
        int now = 1;
        int nowcount = 0;
        int childgather = 0;
        for (int i = 0; i < tmp2.Length; i++) {
            if (child[i] > 0 && nowcount == 0 && now == child[i]) { childgather++; }
            if (child[i] < 0 && nowcount == 0 && now != child[i]) { childgather++;nowcount++;now = -1;point = i-1; }
            if (child[i] < 0 && nowcount == 1 && now == child[i]) { childgather++; }
            if ((child[i] > 0 && nowcount == 1 && now != child[i]) || i==tmp2.Length-1) { nowcount = 0;now = 1;childs[point] = childgather / 2;childs[point + 1] = childgather / 2;if (childgather % 2 > 0) { childs[point]++; }childgather = 0; }



        }



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

 


}