#include <bits/stdc++.h>
using namespace std;

#define fastio ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define rep(i,s,e) for(int i=s ; i < e ; i++)
#define rrep(i,s,e) for(int i=s ; i > e ; i--)
#define srep(i,s,e,j) for(int i=s ; i < e ; i+=j)
#define tr(i,x) for(auto i : x)
#define inp(a) for(int i=0 ; i<a.size() ; i++)cin>>a[i]
#define int long long
#define vi vector<int>
#define vs vector<string>
#define vb vector<bool>
#define vpi vector<pii>
#define maxpqi priority_queue<int>
#define minpqi priority_queue <int, vector<int>, greater<int> >
#define pii pair<int,int> 
#define F first
#define S second
#define mk make_pair
#define pb push_back
#define pf push_front
#define endl '\n'
#define br printf("\n")
#define inf 1000000
#define imap map<int,int>   
#define uimap unordered_map<int,int>
#define gcd(a,b) __gcd(a,b)
#define mod 1000000007
#define clr(x) memset(x,0,sizeof(x))
#define fill(x,y) memset(x,y,sizeof(x))
#define lb lower_bound
#define ub upper_bound
#define npos string::npos
#define all(x) x.begin(),x.end()
#define descen greater<int>()

string yes="YES",no="NO";

const int hi = 1e4;

vi must;
vi wrong;

bool ok(int n){
    vi pre;
    if(n == 0)pre.pb(0);
    while(n > 0){
        pre.pb(n%10);
        n = n/10;
    }
    while(pre.size() < 4)pre.pb(0);
    sort(all(pre));
    bool ans;
    tr(i,must){
        ans = false;
        tr(j,pre){
            if(i == j){
                ans = true;
                break;
            }
        }
        if(!ans)return false;
    }
    tr(i,wrong){
        tr(j,pre){
            if(i == j){
                return false;
            }
        }
    }
    // bool ans = true;
    // tr(i,must){
    //     ans = false;
    //     // tr(j,pre){
    //     //     if(i == j){
    //     //         pre.erase(find(all(pre),j));
    //     //         ans = true;
    //     //         break;
    //     //     }
    //     // }
    //     rep(j,0,pre.size()){
    //         if(i == pre[j]){
    //             pre.erase(find(all(pre),pre[j]));
    //             ans = true;
    //             break;
    //         }
    //     }
    //     if(!ans)return false;
    // }
    // tr(i,wrong){
    //     tr(j,pre){
    //         if(i == j)return false;
    //     }
    // }
    return true;
}

void solve(){
    string s;cin>>s;
    int o = count(all(s),'o');
    if(o > 4){
        cout << 0 << endl;
        return;
    }
    rep(i,0,10){
        if(s[i] == 'o')must.pb(i);
        if(s[i] == 'x')wrong.pb(i);
    }
    // cout << "must : ";
    // tr(i,must)cout << i << " ";
    // cout<<endl;
    // cout << "wrong : ";
    // tr(i,wrong)cout << i << " ";
    // cout<<endl;
    int ans = 0;
    int tmp;
    rep(i,0,hi){
        tmp = ok(i);
        // if(tmp){
        //     cout << "- " << i << endl;
        // }
        ans += tmp;
    }
    cout << ans << endl;
    // int q;cin>>q;
    // while(q--){
    //     int n;cin>>n;
    //     cout << (ok(n) ? yes : no ) << endl;
    // }
}

int32_t main()
{
    // fastio
    // ios::sync_with_stdio(false);
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
    solve();
    return 0;
}

/*
// Sort the array in descending order 
    sort(arr, arr + n, greater<int>()); 
*/
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a,i##end=b;i<=i##end;i++)
#define drep(i,a,b) for(int i=a,i##end=b;i>=i##end;i--)
inline int read() {
	int x=0,f=1;char c=getchar();
	while(c<48||c>57){if(c=='-')f=-1;c=getchar();}
	while(c>=48&&c<=57)x=(x<<1)+(x<<3)+(c^48),c=getchar();
	return x*f;
}
using namespace std;
typedef long long ll;
ll k;
int n;
ll div(ll x){
	if(x>=3)return x*(x-2)-x*(x-1)/2+1;
	return 0;
}
ll que(ll x){
	// 将x分成3个正整数方案数 
	return div(x)-3*div(x-n)+3*div(x-2*n)-div(x-3*n);
}
ll D(ll x){
	if(x>=2)return x-1;
	return 0;
}
ll q2(ll x){
	return D(x)-2*D(x-n)+D(x-2*n);
}
int main() {
	n=read(),scanf("%lld",&k);
	int pos=-1;
	rep(i,3,3e6){
		if(que(i)>=k){pos=i;break;}
		else k-=que(i);
	}
	rep(i,1,pos-2){
		ll rst=q2(pos-i);
		if(rst>=k){
			int u=max(1,pos-i-n);
			printf("%d %lld %lld\n",i,u+k-1,pos-i-(u+k-1));
			return 0;
		}else k-=rst;
	}
	return 0;
}
