链接:https://codeforces.com/problemset/problem/322/B

Fox Ciel has some flowers: r red flowers, g green flowers and b blue flowers. She wants to use these flowers to make several bouquets. There are 4 types of bouquets:

  • To make a "red bouquet", it needs 3 red flowers.
  • To make a "green bouquet", it needs 3 green flowers.
  • To make a "blue bouquet", it needs 3 blue flowers.
  • To make a "mixing bouquet", it needs 1 red, 1 green and 1 blue flower.

Help Fox Ciel to find the maximal number of bouquets she can make.

Input

The first line contains three integers rg and b (0 ≤ r, g, b ≤ 109) — the number of red, green and blue flowers.

Output

Print the maximal number of bouquets Fox Ciel can make.

Examples

input

Copy

3 6 9

output

Copy

6

input

Copy

4 4 4

output

Copy

4

input

Copy

0 0 0

output

Copy

0

Note

In test case 1, we can make 1 red bouquet, 2 green bouquets and 3 blue bouquets.

In test case 2, we can make 1 red, 1 green, 1 blue and 1 mixing bouquet.

代码:

#include<bits/stdc++.h>
using namespace std;
long long n,m,t,k,s,d,max1=0,a,b,c,mod=1e9+7;
long long x[10];
main()
{
	cin>>a>>b>>c;
	x[1]=a/3+b/3+c/3+min(a%3,min(b%3,c%3));
	x[2]=(a-1)/3+(b-1)/3+(c-1)/3+min((a-1)%3,min((b-1)%3,(c-1)%3))+1;
	x[3]=(a-2)/3+(b-2)/3+(c-2)/3+min((a-2)%3,min((b-2)%3,(c-2)%3))+2; 
	cout<<max(x[1],max(x[3],x[2]));
}