#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include /*______________#########____________________*\ ______________############_____________________ ______________#############____________________ _____________##__###########___________________ ____________###__######_#####__________________ ____________###_#######___####_________________ ___________###__##########_####________________ __________####__###########_####_______________ ________#####___###########__#####_____________ _______######___###_########___#####___________ _______#####___###___########___######_________ ______######___###__###########___######_______ _____######___####_##############__######______ ____#######__#####################_#######_____ ____#######__##############################____ ___#######__######_#################_#######___ ___#######__######_######_#########___######___ ___#######____##__######___######_____######___ ___#######________######____#####_____#####____ ____######________#####_____#####_____####_____ _____#####________####______#####_____###______ ______#####______;###________###______#________ \*______##_______####________####____________*/ using namespace std; long long data[200005]; int main() { int T; cin >> T; long long n, m, k; long long be, ed; long long ans; while (T--) { ans = 0; be = 0; ed = 0; cin >> n >> m >> k; for (int i = 0; i < n; i++) { scanf("%I64d", &data[i]); } long long cnt = 0; while (1) { while (cnt < k&&ed < n) { if (data[ed] >= m) { cnt++; } ed++; } while (cnt >= k&&be < n) { ans += (n - ed + 1); if (data[be] >= m) { cnt--; } be++; } if (be == n || (ed == n&&cnt < k)) { break; } } cout << ans << "\n"; } }