#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ul; typedef vector vi; typedef pair pii; #define rep(i,l,r) for(int i=l;i<(r);++i) #define per(i,l,r) for(int i=r-1;i>=(l);--i) #define sz(x) ((int)((x).size())) #define sqr(x) ((ll)(x)*(x)) #define all(x) (x).begin(),(x).end() #define mp make_pair #define pb push_back #define fi first #define se second #define de(x) cout << #x << " = " << x << endl; #define debug(x) freopen(x".in", "r", stdin); #define setIO(x) freopen(x".in", "r", stdin);freopen(x".out", "w", stdout); const ll LINF = 1e18 + 7; const ul BASE = 33; const int N = 1e5 + 7; const int INF = 1e9 + 7; const int MOD = 1000000007; const double Pi = acos(-1.); const double EPS = 1e-8; ll kpow(ll a, ll b) { ll ret = 1; for (; b; b >>= 1, a = a * a) if (b & 1) ret = ret * a; return ret; } //--------------head-------------- int n, m; int main() { int T; scanf("%d", &T); rep(cas, 0, T) { scanf("%d%d", &n, &m); int z = 0; ll c = 1, ans = 0; while (z < m && c < n) ++z, c <<= 1; while (n > 0) { ans += n / c; n -= n / c * c; c >>= 1; } cout << ans << endl; } return 0; }