#include <bits/stdc++.h>
 
using namespace std;
using ll = long long;
 
const int MAXN = 5e5 + 7;
const int INF = 1e9 + 7;
const int MOD = 998244353;
 
int n, k;
int a[MAXN];
int L[MAXN], R[MAXN];
stack<int> st;
 
void solve() {
    int sk;
    cin >> sk;
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
 
    a[0] = a[n + 1] = INF;
    st = {};
    st.push(0);
    for (int i = 1; i <= n; i++) {
        while (a[st.top()] < a[i]) {
            st.pop();
        }
        L[i] = st.top() + 1;
        st.push(i);
    }
 
    st = {};
    st.push(n + 1);
    for (int i = n; i >= 1; i--) {
        while (a[st.top()] <= a[i]) {
            st.pop();
        }
        R[i] = st.top() - 1;
        st.push(i);
    }
 
    ll ans = 0;
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
        if (a[i] <= k) {
            ans = (ans + 1LL * (i - L[i] + 1) * (R[i] - i + 1)) % MOD;
            cnt++;
        }
    }
 
    int p = 1;
    for (int i = 1; i <= cnt; i++) {
        p = p * 2 % MOD;
    }
    cout << ans << " " << (p - 1 + MOD) % MOD << "\n";
}
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
 
    if (fopen("D:/elaina.inp", "r")) {
        freopen("D:/elaina.inp", "r", stdin);
        freopen("D:/elaina.out", "w", stdout);
    }
 
    if (fopen("camax.inp", "r")) {
        freopen("camax.inp", "r", stdin);
        freopen("camax.out", "w", stdout);
    }
 
    solve();
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmNvbnN0IGludCBNQVhOID0gNWU1ICsgNzsKY29uc3QgaW50IElORiA9IDFlOSArIDc7CmNvbnN0IGludCBNT0QgPSA5OTgyNDQzNTM7CgppbnQgbiwgazsKaW50IGFbTUFYTl07CmludCBMW01BWE5dLCBSW01BWE5dOwpzdGFjazxpbnQ+IHN0OwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBzazsKICAgIGNpbiA+PiBzazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KCiAgICBhWzBdID0gYVtuICsgMV0gPSBJTkY7CiAgICBzdCA9IHt9OwogICAgc3QucHVzaCgwKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIHdoaWxlIChhW3N0LnRvcCgpXSA8IGFbaV0pIHsKICAgICAgICAgICAgc3QucG9wKCk7CiAgICAgICAgfQogICAgICAgIExbaV0gPSBzdC50b3AoKSArIDE7CiAgICAgICAgc3QucHVzaChpKTsKICAgIH0KCiAgICBzdCA9IHt9OwogICAgc3QucHVzaChuICsgMSk7CiAgICBmb3IgKGludCBpID0gbjsgaSA+PSAxOyBpLS0pIHsKICAgICAgICB3aGlsZSAoYVtzdC50b3AoKV0gPD0gYVtpXSkgewogICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICB9CiAgICAgICAgUltpXSA9IHN0LnRvcCgpIC0gMTsKICAgICAgICBzdC5wdXNoKGkpOwogICAgfQoKICAgIGxsIGFucyA9IDA7CiAgICBpbnQgY250ID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGlmIChhW2ldIDw9IGspIHsKICAgICAgICAgICAgYW5zID0gKGFucyArIDFMTCAqIChpIC0gTFtpXSArIDEpICogKFJbaV0gLSBpICsgMSkpICUgTU9EOwogICAgICAgICAgICBjbnQrKzsKICAgICAgICB9CiAgICB9CgogICAgaW50IHAgPSAxOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gY250OyBpKyspIHsKICAgICAgICBwID0gcCAqIDIgJSBNT0Q7CiAgICB9CiAgICBjb3V0IDw8IGFucyA8PCAiICIgPDwgKHAgLSAxICsgTU9EKSAlIE1PRCA8PCAiXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKCiAgICBpZiAoZm9wZW4oIkQ6L2VsYWluYS5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3BlbigiRDovZWxhaW5hLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIkQ6L2VsYWluYS5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgaWYgKGZvcGVuKCJjYW1heC5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3BlbigiY2FtYXguaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbigiY2FtYXgub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIHNvbHZlKCk7Cn0=