#P4833. A and B and Team Training

A and B and Team Training

题目描述

A 和 B 正在准备编程比赛。准备比赛中十分重要的一环即是让编程老手们向新手们传授经验。所以,在下一次团队训练中,A 决定将成员分组,使新手和老手一起面对和解决问题。

A 认为一个合理的分组由一个老手和两个新手构成。这样,老手们就可以向尽可能多的人传授他们的知识。

B 认为一个合理的分组由两个老手和一个新手构成。这样,新手们就可以增长见识,更多地提升能力。

于是,A 和 B 经过商议决定,每一个分组都必须是以上两种分组的一种,同时分出的组要尽量多。

现在我们知道一共有 nn 位编程老手,mm 位新手,那么最多可以分成多少组呢?

输入格式

一行,输入编程老手数量 nn,新手数量 mm,中间含空格,0n,m5000000\le n,m\le 500000

输出格式

一行,表示最多的分组数。

2 6
2
4 5
3