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.
from collections import Counter
r,g,b = map(int,input().split(' '))
t,vec = (r // 3) + (g // 3) + (b // 3),Counter([r % 3,g % 3,b % 3])
if vec[2] == 2 and r > 0 and g > 0 and b > 0:
    print(t + 1)
else: print(t + min(min(r % 3, g % 3),b % 3))



'''
przypadek w ktorym nie ma zera a mimo to mozemy poprawic?

1 2 2 
0 2 2 wyjątek
0

44 55 13 - > [2,1,1]
14 + 18 + 4 = 44

[2,1,2] -> [2,4,2] -> [0,2,0] = + 1

65 30 74
56
(21,10,24)
2,0,2   -> wektor reszty bukietów (r % 3, g % 3, b % 3)
2,3,2
0,1,0
56

wektor możemy poprawić w granicach 3. bo ([r,g,b] MOD 3)
jeżeli w wektorze znajduje się jedno 0 to odejmujemy jeden bukiet, zamieniamy 0 na 3 
i dodajemy wertykalny wynik. (min(r,g,b)) (bukiety mix)
Jeżeli w tej sytuacji min będzie 2 to wyjdziemy na +1, jeżeli 1 to na to samo.
Jeżeli w wektorze nie znajduje się zero: dodajemy do tego co mamy możliwe jeszcze do wytworzenia
bukiety mix ((min(r,g,b))).
Jeżeli w wektorze znajdują się dwa zera to nie ma możliwości poprawy, 
na trzecim miejscu znajduje się 1 albo 2. Jeżeli 1 to zmienimy wynik na gorsze bo 1 mix < 2 rgb.
Jeżeli 2 to wyjdziemy na to samo i skończymy na 0,1,1.



3 5 5
4

brute force trójek do końca, a potem staranie się podmienić to co masz na mixy i sprawdzenie
czy może to poprawić wynik, odejmując bukiety rgb.

1,1,1       ->      0,1,1       ->      0,2,2
(0,2,2)            (3,2,2)             (1,0,0)

mechanizm poprawiania:


3 % 3, 5 % 3, 5 % 3
0,2,2

9 9 7

7 7 2
5

4 4 2
3


4 4 3
3

2 6 2 
3

3 3 1
2

11 11 8 

'''