#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MOD = 998244353;
int p(int n) {
if (n == 0) return 1;
int x = p(n / 2);
if (n % 2 == 0) return (x * x) % MOD;
else return ((x * x) % MOD * 2) % MOD;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
int n, k;
cin >> n >> k;
int a[n];
for (int i = 0; i < n; ++i) cin >> a[i];
vector <int> vec;
vec.push_back(-1);
int cnt = 0;
for (int i = 0; i < n; ++i) {
if (a[i] > k) vec.push_back(i);
else ++cnt;
}
vec.push_back(n);
int res = 0;
for (int i = 1; i < vec.size(); ++i) {
int x = vec[i] - vec[i - 1] - 1;
res = (res + (x * (x + 1)) / 2) % MOD;
}
int res2 = ((p(cnt) - 1) % MOD + MOD) % MOD;
cout << res << ' ' << res2;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTU9EID0gOTk4MjQ0MzUzOwoKaW50IHAoaW50IG4pIHsKCWlmIChuID09IDApIHJldHVybiAxOwoJaW50IHggPSBwKG4gLyAyKTsKCWlmIChuICUgMiA9PSAwKSByZXR1cm4gKHggKiB4KSAlIE1PRDsKCWVsc2UgcmV0dXJuICgoeCAqIHgpICUgTU9EICogMikgJSBNT0Q7Cn0KCnNpZ25lZCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CglpbnQgdDsKCWNpbiA+PiB0OwoJaW50IG4sIGs7CgljaW4gPj4gbiA+PiBrOwoJaW50IGFbbl07Cglmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IGFbaV07Cgl2ZWN0b3IgPGludD4gdmVjOwoJdmVjLnB1c2hfYmFjaygtMSk7CglpbnQgY250ID0gMDsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CgkJaWYgKGFbaV0gPiBrKSB2ZWMucHVzaF9iYWNrKGkpOwoJCWVsc2UgKytjbnQ7Cgl9Cgl2ZWMucHVzaF9iYWNrKG4pOwoJaW50IHJlcyA9IDA7Cglmb3IgKGludCBpID0gMTsgaSA8IHZlYy5zaXplKCk7ICsraSkgewoJCWludCB4ID0gdmVjW2ldIC0gdmVjW2kgLSAxXSAtIDE7CgkJcmVzID0gKHJlcyArICh4ICogKHggKyAxKSkgLyAyKSAlIE1PRDsKCX0KCWludCByZXMyID0gKChwKGNudCkgLSAxKSAlIE1PRCArIE1PRCkgJSBNT0Q7Cgljb3V0IDw8IHJlcyA8PCAnICcgPDwgcmVzMjsKCXJldHVybiAwOwp9