Snuke loves puzzles.  Today, he is working on a puzzle using `S`\- and `c`-shaped pieces. In this puzzle, you can combine two `c`-shaped pieces into one `S`-shaped piece, as shown in the figure below:    Snuke decided to create as many `Scc` groups as possible by putting together one `S`-shaped piece and two `c`-shaped pieces.  Find the maximum number of `Scc` groups that can be created when Snuke has N `S`-shaped pieces and M `c`-shaped pieces.
s_num, c_num = map(int, input().split())
print(s_num, c_num)
if s_num * 2 > c_num:
    print(s_num)
else:
    ans = s_num
    c_num -= s_num * 2
    ans += c_num // 4
    print(ans)
    

s_num, c_num = map(int, input().split())

ans = 0

if s_num * 2 >= c_num:
    ans = c_num // 2
else:
    ans += s_num
    c_num -= s_num * 2
    ans += c_num // 4

print(ans)
