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.
def flowers(lst):
    mix, maximum = 0, 0
    for i in range(len(lst)):
        if maximum < lst[0] // 3 + lst[1] // 3 + lst[2] // 3 + mix:
            maximum = lst[0] // 3 + lst[1] // 3 + lst[2] // 3 + mix
        if lst[0] > 0 and lst[1] > 0 and lst[2] > 0:
            mix += 1
            lst[0] -= 1
            lst[1] -= 1
            lst[2] -= 1
    return maximum


f = [int(i) for i in input().split()]
print(flowers(f))
