#include <bits/stdc++.h>
using namespace std;
struct num {
  string n;
  num() { n = ""; }
  num(string s) { n = s; }
  bool operator<(const num &rhs) const {
    char sign1 = this->n[0], sign2 = rhs.n[0];
    if (sign1 == '-' && sign2 != '-') return true;
    if (sign1 != '-' && sign2 == '-') return false;
    bool True = (sign1 != '-');
    if (n.size() < rhs.n.size()) return True;
    if (n.size() > rhs.n.size()) return !True;
    return (n < rhs.n) ^ (!True);
  }
  bool operator==(const num &rhs) const { return this->n == rhs.n; }
  bool operator>(const num &rhs) const {
    return (!(*this < rhs) && !(*this == rhs));
  }
  bool operator>=(const num &rhs) const {
    return (*this > rhs || *this == rhs);
  }
  bool operator<=(const num &rhs) const {
    return (*this < rhs || *this == rhs);
  }
};
struct interval {
  num left, right;
  interval() {}
  interval(num l, num r) {
    left = l;
    right = r;
  }
};
int first_match(num n) {
  const int types = 4;
  interval dataTypes[types] = {
      interval(num("-128"), num("127")), interval(num("-32768"), num("32767")),
      interval(num("-2147483648"), num("2147483647")),
      interval(num("-9223372036854775808"), num("9223372036854775807"))};
  int i = 0;
  for (; i < types; ++i) {
    if (n >= dataTypes[i].left && n <= dataTypes[i].right) {
      break;
    }
  }
  return i;
}
int main() {
  string n;
  cin >> n;
  string ans[] = {"byte", "short", "int", "long", "BigInteger"};
  cout << ans[first_match(num(n))];
  return 0;
}
