A group of students has recently been admitted to the Faculty of Computer Sciences at the Berland State University. Now the programming teacher wants to divide them into three subgroups for practice sessions.
The teacher knows that a lot of programmers argue which language is the best. The teacher doesn't want to hear any arguments in the subgroups, so she wants to divide the students into three subgroups so that no pair of students belonging to the same subgroup want to argue.
To perform this division, the teacher asked each student which programming language he likes. There are \(a\) students who answered that they enjoy Assembler, \(b\) students stated that their favourite language is Basic, and \(c\) remaining students claimed that C++ is the best programming language — and there was a large argument between Assembler fans and C++ fans.
Now, knowing that Assembler programmers and C++ programmers can start an argument every minute, the teacher wants to divide the students into three subgroups so that every student belongs to exactly one subgroup, and there is no subgroup that contains at least one Assembler fan and at least one C++ fan. Since teaching a lot of students can be difficult, the teacher wants the size of the largest subgroup to be minimum possible.
Please help the teacher to calculate the minimum possible size of the largest subgroup!