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.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class Code{
    
    static class FastScanner{
        StringTokenizer st;
        BufferedReader s;
        
        public FastScanner() throws IOException{
            s = new BufferedReader(new InputStreamReader(System.in));
            st = new StringTokenizer(s.readLine());
        }
        public int nextInt() throws IOException{
            if(st.hasMoreTokens())
                return Integer.parseInt(st.nextToken());
            else{
                st = new StringTokenizer(s.readLine());
                return nextInt();
            }
        }
        public String nextString() throws IOException{
            if(st.hasMoreTokens())
                return st.nextToken();
            else{
                st = new StringTokenizer(s.readLine());
                return nextString();
            }
        }
    }
    public static void main(String[] args) throws IOException{
        FastScanner s = new FastScanner();
        PrintWriter ww = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
        int r = s.nextInt();
        int g = s.nextInt();
        int b = s.nextInt();
        int rer = r%3;
        int reg = g%3;
        int reb = b%3; int res = 0;
        if(r == 0 && b<3 && g<3|| g == 0 && r<3 && b<3 || b == 0 && r<3 && g<3)
            ww.println(0);
        else if((rer == 1 && reg == 1 || rer == 1 && reb == 1 || reg == 1 && reb ==1)&& r>0 && b>0 && g>0){
            res = 1;
            r -= 1; g -= 1; b -= 1;
            ww.println(res+r/3+g/3+b/3);
        }
        else if((rer == 2 && reg == 2 || rer == 2 && reb == 2 || reg == 2 && reb ==2) && r>1 && b>1 && g>1){
            res = 2;
            r -= 2; g -= 2; b -= 2;
            ww.println(res+r/3+g/3+b/3);
        }
        else
            ww.println(r/3+g/3+b/3);
        ww.close();
    }
}