Creating Teams


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
Ada, BrainF***, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Every year, the University of Zagreb organizes a student team competition in informatics. Each team consists of three students.

Traditionally, the best competitors from the university are girls, and they outnumber boys significantly. This year, boys have raised their voice and a rule was made that each team must consist of exactly one boy and two girls.

To make competitors' lives a little more difficult, the dean of the university has decided to send K of the competitors on an internship in a distant country. Those competitors will not be able to compete. Given the number of female competitors M, the number of male competitors N, and the number of competitors which have to be sent on an internship K, the dean has to create the maximum number of teams which will be able to attend the competition.

For example, if M is 6, N is 3 and K is 2, the dean can send one girl and one boy on an internship, which leaves him with 5 girls and 2 boys. He can then create two teams from them (one girl is left without a team).

INPUT

The first and only line of input contains three integers separated by single spaces: M (0 \leq M \leq 100), the number of girls, N (0 \leq N \leq 100), the number of boys, and K (0 \leq K \leq M+N), the number of competitors which have to be sent on an internship.

OUTPUT

The first and only line of output must contain only one number: the maximum number of teams which can be formed.

SAMPLE TESTS

input input input
6 3 2 2 1 1 6 10 3
output output output
2 0 3

Comments

There are no comments at the moment.