#include <bits/stdc++.h>
using namespace std;
bool SNT(int n) {
if (n < 2) return false;
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
void PhanTichNT(int n) {
cout << n << " = ";
bool first = true;
for (int i = 2; i <= sqrt(n); i++) {
while (n % i == 0) {
if (!first) cout << " * ";
cout << i;
first = false;
n /= i;
}
}
if (n > 1) {
if (!first) cout << " * ";
cout << n;
}
cout << endl;
}
void LietKeNT(int n, int s) {
int start = pow(10, n - 1);
int end = pow(10, n) - 1;
for (int i = start; i <= end; i++) {
if (SNT(i)) {
int tmp = i, tong = 0;
while (tmp > 0) {
tong += tmp % 10;
tmp /= 10;
}
if (tong == s) {
cout << i << " ";
}
}
}
cout << endl;
}
int main(){
//1.Input
int n; cin>>n;
int choice; cin>>choice;
//2.Process
if(choice==1){
PhanTichNT(n);
}else{
int s; cin>>s;
LietKeNT(n,s);
}
//3.Output
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKYm9vbCBTTlQoaW50IG4pIHsKICAgIGlmIChuIDwgMikgcmV0dXJuIGZhbHNlOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gc3FydChuKTsgaSsrKSB7CiAgICAgICAgaWYgKG4gJSBpID09IDApIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgoKdm9pZCBQaGFuVGljaE5UKGludCBuKSB7CiAgICBjb3V0IDw8IG4gPDwgIiA9ICI7CiAgICBib29sIGZpcnN0ID0gdHJ1ZTsKICAgIGZvciAoaW50IGkgPSAyOyBpIDw9IHNxcnQobik7IGkrKykgewogICAgICAgIHdoaWxlIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgIGlmICghZmlyc3QpIGNvdXQgPDwgIiAqICI7CiAgICAgICAgICAgIGNvdXQgPDwgaTsKICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgbiAvPSBpOwogICAgICAgIH0KICAgIH0KICAgIGlmIChuID4gMSkgewogICAgICAgIGlmICghZmlyc3QpIGNvdXQgPDwgIiAqICI7CiAgICAgICAgY291dCA8PCBuOwogICAgfQogICAgY291dCA8PCBlbmRsOwp9CgoKdm9pZCBMaWV0S2VOVChpbnQgbiwgaW50IHMpIHsKICAgIGludCBzdGFydCA9IHBvdygxMCwgbiAtIDEpOwogICAgaW50IGVuZCA9IHBvdygxMCwgbikgLSAxOwoKICAgIGZvciAoaW50IGkgPSBzdGFydDsgaSA8PSBlbmQ7IGkrKykgewogICAgICAgIGlmIChTTlQoaSkpIHsKICAgICAgICAgICAgaW50IHRtcCA9IGksIHRvbmcgPSAwOwogICAgICAgICAgICB3aGlsZSAodG1wID4gMCkgewogICAgICAgICAgICAgICAgdG9uZyArPSB0bXAgJSAxMDsKICAgICAgICAgICAgICAgIHRtcCAvPSAxMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodG9uZyA9PSBzKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBlbmRsOwp9CgoKaW50IG1haW4oKXsKCS8vMS5JbnB1dAoJaW50IG47IGNpbj4+bjsKCWludCBjaG9pY2U7IGNpbj4+Y2hvaWNlOwoJLy8yLlByb2Nlc3MKCWlmKGNob2ljZT09MSl7CgkJUGhhblRpY2hOVChuKTsKCX1lbHNlewoJCWludCBzOyBjaW4+PnM7CgkJTGlldEtlTlQobixzKTsKCX0KCS8vMy5PdXRwdXQKCXJldHVybiAwOwp9Cg==