#include <bits/stdc++.h>
using namespace std;
map<long long, long long> mp;
map<long long, long long> mrk;
int main() {
  long long i, j, k, l, m, n;
  cin >> n >> k;
  long long ar[n + 10];
  long long ab[n + 10];
  for (i = 0; i < n; i++) {
    cin >> ar[i];
    ab[i] = ar[i];
  }
  sort(ab, ab + n);
  reverse(ab, ab + n);
  long long cnt = 0, sum = 0;
  for (i = 0; i < k; i++) {
    sum += ab[i];
    mrk[ab[i]]++;
  }
  cnt = 1;
  long long ans = 1ll;
  for (i = 0; i < n; i++) {
    if (mrk[ar[i]]) {
      j = i;
      break;
    }
  }
  for (i = j; i < n; i++) {
    if (mrk[ar[i]]) {
      ans = (ans * cnt) % 998244353;
      cnt = 1;
    } else
      cnt++;
  }
  cout << sum << " ";
  cout << ans << '\n';
}
