/*
\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u2227\uff3f\u2227
\u3000\u3000\u3000\u3000\u3000 \u2227\uff3f\u2227 \u3000\uff08\u00b4<_\uff40 \uff09\u3000 Welcome to My Coding Space ^_^
\u3000\u3000\u3000\u3000 \uff08 \u00b4_\u309d`\uff09\u3000/\u3000 \u2312i
\u3000\u3000\u3000\u3000\uff0f\u3000\u3000\u3000\uff3c\u3000 \u3000  |\u3000|
\u3000\u3000\u3000 /\u3000\u3000 /\uffe3\uffe3\uffe3\uffe3/\u3000|\u3000|
\u3000 \uff3f_(__\uff86\u3064/\u3000\u3000 \u3000 / .| .|\uff3f\uff3f\uff3f\uff3f
\u3000 \u3000\u3000\u3000\uff3c/\uff3f\uff3f\uff3f\uff3f/\u3000\uff08u\u3000\u2283
*/

#include <cstdint>
#include <iostream>
#include <string>

using namespace std;
using tp = int64_t;
constexpr tp _BASE_ = 7, HASHAT_N = 2e5 + 3;

tp AL, BL;
string A, B;
uintmax_t HASH[HASHAT_N], PowTable[HASHAT_N];

uintmax_t HASHash(tp l, tp r) {
  return HASH[r] - HASH[l - 1] * PowTable[r - l + 1];
}

tp LCP(tp a, tp b) {
  tp l = 0, r = min(A.size() - a, B.size() - b);
  while (l < r) {
    tp mid = l + r >> 1;
    if (HASHash(a, a + mid) == HASHash(AL + b, AL + b + mid)) {
      l = mid + 1;
    } else {
      r = mid;
    }
  }
  return l;
}

void Pre() {
  *PowTable = 1;
  for (tp i = 1; i < HASHAT_N; ++i) {
    PowTable[i] = PowTable[i - 1] * _BASE_;
  }
}

signed main() {
  tp __TEST_CASE__;
  cin >> __TEST_CASE__;
  Pre();
  while (__TEST_CASE__--) {
    tp cnt = 0;
    cin >> A >> B;
    AL = A.size();
    BL = B.size();
    A = '\114' + A;
    B = '\114' + B;
    *HASH = 0;
    for (tp i = 1; i < A.size(); ++i) {
      HASH[i] = HASH[i - 1] * _BASE_ + A[i];
    }
    for (tp i = 1; i <= BL; ++i) {
      HASH[AL + i] = HASH[AL + i - 1] * _BASE_ + B[i];
    }
    for (tp i = 1; i + BL <= A.size(); ++i) {
      for (tp j = 0, a = i, b = 1; j < 4; ++j) {
        tp len = LCP(a, b) + (j != 3);
        a += len;
        b += len;
        if (b > BL) {
          ++cnt;
          break;
        }
      }
    }
    cout << cnt << '\n';
  }
  return 0;
}

/*#################################################################
#.................................................................#
#.............#......#............Created.By.RBTree...............#
#............#.#....#.#........... Limiting-Factor................#
#.............########............................................#
#............#........#..##############################...........#
#...........#..V....V......#..#........................#..#...#...#
#............#........#....#..........###..###..........#..#.#.#..#
#............#..X##X..#..#............#....#.#...........#..#...#.#
#...........#...N##N...#..#...........###..###..........#.........#
#.......MOO..#..@.....#....#.#.#.#...................#.#..........#
#.............########.....#.#.#.##############.#.#..#.#..........#
#..........................#.#.#.#.............#.#.#.#.#..........#
#......#########...........#.#.#.#.................#.#.#..........#
#.....#.........#..........#.#.#.#.................#.#.#..........#
#.#.#.#G#R#A#S#S#.#.#......#.#.#.#.................#.#.#..........#
#.###################......#.#.#.#.................#.#.#..........#
#...........................#.#.#...................#.#...........#
#.................................................................#
#################################################################*/