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 r, g 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

3 6 9


Output

6


Input

4 4 4


Output

4


Input

0 0 0


Output

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.
import java.io.*;
import java.util.*;
public class b322
{
    public static void main(String args[])throws IOException
    {
        InputStreamReader read=new InputStreamReader(System.in);
        BufferedReader in=new BufferedReader(read);
       // System.out.println("Enter");
        String s=in.readLine();
        StringTokenizer st=new StringTokenizer(s);
        int r,g,b,i,j,k,mb,sum,l,i1=0,j1=0,k1=0;
        r=Integer.parseInt(st.nextToken());
        g=Integer.parseInt(st.nextToken());
        b=Integer.parseInt(st.nextToken());
        l=Math.min(r,Math.min(g,b));
        if(r>0 && g>0 && b>0)
        {
        i=l-0;
        j=l-1;
        k=l-2;
        if((r-i)%3==0 || (g-i)%3==0 ||(b-i)%3==0)
        i1=(r-i)/3+(g-i)/3+(b-i)/3+i;
        if((r-j)%3==0 || (g-j)%3==0 ||(b-j)%3==0)
        j1=(r-j)/3+(g-j)/3+(b-j)/3+j;
        if((r-k)%3==0 || (g-k)%3==0 ||(b-k)%3==0)
        k1=(r-k)/3+(g-k)/3+(b-k)/3+k;
        System.out.println(Math.max(i1,Math.max(j1,k1)));
        }
        else
        System.out.println(r/3+g/3+b/3);
    }
}