#include #include #include #include #include #include #include #include #include #include #include using namespace std; char buff[1000]; int main(){ int t; scanf("%d", &t); while(t--){ int n,m; scanf("%d%d", &n, &m); vector a(m); for(int i=0; i dp(n+1, 0); for(int i=1; i<=m; i++){ //vector dp_(n+1, 0); for(int l=a[i-1]+1; l<=(i==1?0:a[i]); l++){ for(int r=(i==m?n:a[i]+1); r<=a[i+1]; r++){ dp[r] = max(dp[r], log2(r-l)+dp[l]); } } //swap(dp, dp_); } printf("%I64d\n", (long long)(floor(dp[n]*1000000)) ); } return 0; }