あなたは既に標準ICPCのチームはちょうど3メンバーで構成することが知られている可能性があります。完璧なチームは、しかし、より多くの制限があります。コーダや数学者:学生は、いくつかの専門を持つことができます。 彼女/彼は何の専門を持つことはできませんが、同時に両方を持つことはできません。
だから、チームはそれが少なくとも一つのコーダ、少なくとも一つの数学者が含まれている場合は完璧と考えられ、それはちょうど3つのメンバーから構成されています。
あなたは非常に大規模な大学でコーチであり、あなたが知っていること cはあなたの生徒のCコーダー、されている メートルの数学者とメートルをしている のx、xは何の専門を持っていません。
あなたがにそれらを配布することができ、完全な完璧なチームの最大数は何ですか?
一部の学生がチームなしで残すことができ、それぞれの学生がいない複数のチームの一部であることに注意してください。
あなたも答えるように求められます Qの Qの独立したクエリを。
入力
最初の行は、単一の整数含ま Qの Q(1 ≤ Q ≤ 10 4クエリの数- 1≤q≤104を)。
次の各 Qの Qラインは三つの整数の含有 Cの C、 Mの Mおよび X X(0 ≤ C 、M 、X ≤ 10 8任意せずコーダ、数学者、学生の数- 0≤c、M、x≤108)をそれぞれの大学で専門、。
何の学生が同時に両方のコーダと数学者ではないことに注意してください。
出力
印刷 のq Q整数- Iそれらのi番目は答えなければなりません 、私、私は彼らが入力に与えられている順に照会。答えはあなたにあなたの学生を配布することができ、完全な完璧なチームの最大数です。
例
6 1 1 1 3 6 0 0 0 0 0 1 1 10 1 10 4 4 1
1 3 0 0 1 3
注意
最初の例では、ここでチームが形成されているか、次のとおりです。
- 1つのコーダ、1人の数学者と専門なしの1の唯一のチーム。
- すべての3つのチームが1つのコーダと2人の数学者で構成します。
- 何チームが形成されないことができます。
- 何チームが形成されないことができます。
- 1つのチームが1つのコーダ、1人の数学者と専門なしの1で構成され、残りはどのチームを形成することができません。
- 1つのチームは1つが2つのコーダーと1人の数学者で構成され、1が1つのコーダと2人の数学者で構成され、1つのコーダ、1人の数学者と専門なしの1で構成されています。
書式#include <iostreamの> の#include <アルゴリズム> 書式#include <cstdioを> する#include < 文字列 > の#include <CStringの> の#include <cstdlib> 書式#include <マップ> 書式#include <ベクトル> の#include < 設定 > 書式#include <キュー> 書式#include <スタック> の#include <cmath> 使用して 名前空間はstdを、 #defineし、[OK]リターン0; typedefの長い 長いLLI。 #defineTLEのstd ::イオス:: sync_with_stdio(偽); cin.tie(NULL)。cout.tie(NULL)。cout.precision(10)。 INT メイン() { TLE。 int型、T、N、M、K。 cinを >> トン。 一方、(t-- ) { CIN >> N >> M >> K。 場合(N Mを== && N == k)はCOUT << N << ENDL。 他 { LLI ANS = 分(N、M)。 LLI CNT = N + M + K - 3 * ANS。 もし(CNT> 0 ) はcout << ANS <<endl; 他の coutの <<(3 * ANS + CNT)/ 3 << てendl; } } 戻り 0 。 }