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.util.*;
import java.io.*;
public class Main {
    public static void main(String args[]){
        //Scanner s= new Scanner(System.in);
         InputReader s= new InputReader(System.in);
         OutputStream outputStream= System.out;
         PrintWriter out= new PrintWriter(outputStream);
         long r=s.nextLong();
         long g=s.nextLong();
         long b=s.nextLong();
         int answer=0;
         if(((r%3==2 && g%3==2) || (r%3==2 && b%3==2) || (b%3==2 && g%3==2)) && (r>1 && b>1 && g>1)){
             answer=2;
             r-=2;
             b-=2;
             g-=2;
             answer+=r/3+g/3+b/3;
         }
         else if(((r%3==1 && g%3==1) || (r%3==1 && b%3==1) || (b%3==1 && g%3==1)) && (r>0 && b>0 && g>0)){
             answer=1;
             r-=1;
             g-=1;
             b-=1;
             answer+=r/3+b/3+g/3;
         }
         else{
             answer+=r/3+g/3+b/3;
         }
         out.println(answer);
                out.close();
         
    }
    
    static class InputReader {
        
        public BufferedReader reader;
        public StringTokenizer tokenizer;
 
        public InputReader( InputStream inputstream) {
          reader = new BufferedReader(new InputStreamReader(inputstream));
          tokenizer = null;
        }
        
        public String nextLine(){
            String fullLine=null;
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                  fullLine=reader.readLine();
                } catch (IOException e) {
                  throw new RuntimeException(e);
                }
                return fullLine;
              }
              return fullLine;
        }
        public String next() {
          while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            try {
              tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
              throw new RuntimeException(e);
            }
          }
          return tokenizer.nextToken();
        }
        public long nextLong() {
              return Long.parseLong(next());
            }
        public int nextInt() {
          return Integer.parseInt(next());
        }
      }
}
