description: Let's define S(x) to be the sum of digits of number x written in decimal system. For example, S(5) = 5, S(10) = 1, S(322) = 7.
  
  We will call an integer x interesting if S(x + 1) < S(x). In each test you will be given one integer n. Your task is to calculate the number of integers x such that 1 ≤ x ≤ n and x is interesting.
  
  Input
  
  The first line contains one integer t (1 ≤ t ≤ 1000) — number of test cases.
  
  Then t lines follow, the i-th line contains one integer n (1 ≤ n ≤ 10^9) for the i-th test case.
  
  Output
  
  Print t integers, the i-th should be the answer for the i-th test case.
  
  Example
  
  Input
  
  
  5
  1
  9
  10
  34
  880055535
  
  
  Output
  
  
  0
  1
  1
  3
  88005553
  
  Note
  
  The first interesting number is equal to 9.
solution: #include <bits/stdc++.h>
  using namespace std;
  template <typename T, size_t N>
  int SIZE(const T (&t)[N]) {
    return N;
  }
  template <typename T>
  int SIZE(const T &t) {
    return t.size();
  }
  string to_string(const string s, int x1 = 0, int x2 = 1e9) {
    return '"' + ((x1 < s.size()) ? s.substr(x1, x2 - x1 + 1) : "") + '"';
  }
  string to_string(const char *s) { return to_string((string)s); }
  string to_string(const bool b) { return (b ? "true" : "false"); }
  string to_string(const char c) { return string({c}); }
  template <size_t N>
  string to_string(const bitset<N> &b, int x1 = 0, int x2 = 1e9) {
    string t = "";
    for (int __iii__ = min(x1, SIZE(b)), __jjj__ = min(x2, SIZE(b) - 1);
         __iii__ <= __jjj__; ++__iii__) {
      t += b[__iii__] + '0';
    }
    return '"' + t + '"';
  }
  template <typename A, typename... C>
  string to_string(const A(&v), int x1 = 0, int x2 = 1e9, C... coords);
  int l_v_l_v_l = 0, t_a_b_s = 0;
  template <typename A, typename B>
  string to_string(const pair<A, B> &p) {
    l_v_l_v_l++;
    string res = "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
    l_v_l_v_l--;
    return res;
  }
  template <typename A, typename... C>
  string to_string(const A(&v), int x1, int x2, C... coords) {
    int rnk = rank<A>::value;
    string tab(t_a_b_s, ' ');
    string res = "";
    bool first = true;
    if (l_v_l_v_l == 0) res += '\n';
    res += tab + "[";
    x1 = min(x1, SIZE(v)), x2 = min(x2, SIZE(v));
    auto l = begin(v);
    advance(l, x1);
    auto r = l;
    advance(r, (x2 - x1) + (x2 < SIZE(v)));
    for (auto e = l; e != r; e = next(e)) {
      if (!first) {
        res += ", ";
      }
      first = false;
      l_v_l_v_l++;
      if (e != l) {
        if (rnk > 1) {
          res += '\n';
          t_a_b_s = l_v_l_v_l;
        };
      } else {
        t_a_b_s = 0;
      }
      res += to_string(*e, coords...);
      l_v_l_v_l--;
    }
    res += "]";
    if (l_v_l_v_l == 0) res += '\n';
    return res;
  }
  void dbgm() { ; }
  template <typename Heads, typename... Tails>
  void dbgm(Heads H, Tails... T) {
    cout << to_string(H) << " | ";
    dbgm(T...);
  }
  template <typename... T>
  void read(T &...args) {
    ((cin >> args), ...);
  }
  template <typename... T>
  void write(T... args) {
    ((cout << args), ...);
  }
  const unsigned long long int modulo = 1e9 + 7;
  long long expo(int base, int exp) {
    base %= modulo;
    int result = 1;
    while (exp > 0) {
      if (exp & 1) result = ((long long int)result * base) % modulo;
      base = ((long long int)base * base) % modulo;
      exp >>= 1;
    }
    return result;
  }
  int32_t main() {
    ios_base::sync_with_stdio(false);
    srand(chrono::high_resolution_clock::now().time_since_epoch().count());
    cin.tie(NULL);
    int t, k;
    cin >> t;
    for (k = 0; k < t; k++) {
      long long int n, m, i, j, count = 0, x, ans = 0, c1 = 0, c2 = 0, y;
      bool flag = true;
      vector<long long> a;
      string s;
      read(n);
      if ((n % 10) == 9) {
        n++;
      }
      cout << n / 10;
      cout << endl;
    }
    return 0;
  }
  