public double pow_TLE(double x, int n) {

    if (x == 0) {
      return 0;
    }

    if (n == 0) {
      return x;
    }

    double rst = 1;

    if (n > 0) {
      for (int i = 0 ; i < n ; i++) {
        rst *= x;
      }
    } else {
      for (int i = 0 ; i < -n ; i++) {
        rst *= x;
      }

      rst = 1 / rst;
    }

    return rst;
  }