/*
This is code of SuperJ6 for Codeforces.
Don't copy my code during f*kin' contests.

2.71828182845904523536
*/

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <vector>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second

const int mxm = 20, k = 26;
int n, m, a, b;
int id[k];
int l[1 << mxm], r[1 << mxm], f[1 << mxm], dp[1 << mxm];
vector<int> v;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n >> a >> b;
	
	memset(id, -1, sizeof(id));
	for(int i = 0; i < n; i++){
		char c;
		cin >> c;
		if(!~id[c -= 'a']) l[1 << (id[c] = m++)] = i;
		r[1 << id[c]] = i, f[1 << id[c]]++;
	}
	
	dp[0] = 1;
	for(int i = 1; i < (1 << m); i++){
		if(i & (i - 1)){
			l[i] = n;
			for(int j = 0, p = 0; j < m; j++) if((i >> j) & 1){
				p |= 1 << j;
				dp[i] |= dp[i ^ p] && dp[p];
				l[i] = min(l[i], l[1 << j]);
				r[i] = max(r[i], r[1 << j]);
				f[i] += f[1 << j];
			}
		} 
		if(a * (r[i] - l[i] + 1) <= b * f[i]){
			for(int j = 0; j < m; j++){
				if((i >> j) & 1) dp[i] |= dp[i ^ (1 << j)];
			}
		} 
	}
	
	for(int i = 0; i < k; i++){
		if(~id[i] && dp[((1 << m) - 1) ^ (1 << id[i])]) v.push_back(i);
	} 
	
	cout << v.size();
	for(int i : v) cout << " " << (char)(i + 'a');
	cout << endl;

	return 0;
}