#include <bits/stdc++.h>   using namespace std;   void Heap(int A[], int n, int l, int r) {     int x, i, j;     x = A[l];     i = l;     while (1) {       j = 2 * i;       if (j > r) break;       if (j < r && A[j + 1] >= A[j]) j++;       if (x >= A[j]) break;       A[i] = A[j];       i = j;     }     A[i] = x;   }   void HeapSort(int A[], int n) {     int l, r, temp;     l = n / 2;     while (l >= 0) {       Heap(A, n, l, n - 1);       l--;     }     r = n - 1;     while (r >= 1) {       temp = A[0];       A[0] = A[r];       A[r] = temp;       r--;       Heap(A, n, 0, r);     }   }   int mini(int a, int b, int c = 1000000010) {     if (a <= b && a <= c)       return a;     else if (b <= c && b <= a)       return b;     else       return c;   }   int maxi(int a, int b) {     if (a > b)       return a;     else       return b;   }   unsigned long long int fac(unsigned long long int a) {     unsigned long long int r = 1;     for (int i = 2; i <= a; i++) r *= i;     return r;   }   bool issimple(unsigned long long n) {     for (unsigned long long i = 2; i <= sqrt(n); i++)       if (n % i == 0) return false;     return true;   }   unsigned long long nod(unsigned long long a, unsigned long long b) {     unsigned long long temp;     while (b) {       a %= b;       temp = a;       a = b;       b = temp;     }     return a;   }   unsigned long long nok(unsigned long long a, unsigned long long b,                          unsigned long long nod) {     return a / nod * b;   }   int main() {     int x, y, count, t, i, n, k, m;     bool flag;     cin >> t;     while (t--) {       cin >> n;       count = n / 2 + n % 2;       cout << count << endl;     }     return 0;   }   