#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef double db; typedef pair pii; typedef vector vi; #define de(x) cout << #x << "=" << x << endl #define rep(i,a,b) for(int i=a;i<(b);++i) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() #define mp make_pair #define pb push_back #define fi first #define se second int T , n , m; int main(){ scanf("%d",&T); rep(i,0,T){ scanf("%d%d",&n,&m); int c = n; int ans = 0; for(int i=0;i<=m;++i){ if(i == m || c <= 1){ ans += c; break; } if(i + 1 <= m){ ans += c % 2; c /= 2; } } printf("%d\n",ans); } return 0; }