#include<iostream>
#include <cstring>
#include<set>
#include <vector>
using namespace std;
int randomGen()
{
rand();
int random, max_value = 100, min_value = 1;
random = rand() % max_value + min_value;
return random;
}
int main(void) {
//ex 2
char str[100];
cin >> str;
int n = strlen(str);
set<char> s;
for(int i = 0; i < n; ++i){
if(isdigit(str[i])){
s.insert(str[i]);
}
}
cout << s.size();
//ex 3
vector<int> myvector (10);
for (int i = 0; i < 10; ++i){
myvector.at(i) = rand() % 100;
}
for (vector <int>::iterator it = myvector.begin(); it != myvector.end(); ++it){
cout << ' ' << *it;
}
set <int> d;
for (int i = 0; i < n; ++i){
for (int j = 0; j < n; ++j){
d.insert(i*i*i+j*j*j);
}
}
//for (vecto<int>::iterator it = myvector.begin(); it != myvector.end(); ++it){
// if (s.find(*iter) != s.end()){
// cout << s
// }
//}
cout << endl;
set <int> f;
int F1 = 0;
int F2 = 1;
int F3= 0;
f.insert(F1);
cout << F1 << ' ' << F2 << ' ';
for (int i= 0; i <= 10; ++i){
F3 = F1+F2;
f.insert(F3);
cout << F3 << ' ';
F1 = F2;
F2 = F3;
}
for (vector<int>::iterator it = myvector.begin(); it != myvector.end(); it++){
if (f.find(*it) != f.end()){
//myvector.erase(it);
}
}
for (int i = 0; i < myvector.size(); i++){
cout << myvector.at(i);
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgcmFuZG9tR2VuKCkKewoJcmFuZCgpOwoJaW50IHJhbmRvbSwgbWF4X3ZhbHVlID0gMTAwLCBtaW5fdmFsdWUgPSAxOwoJcmFuZG9tID0gcmFuZCgpICUgbWF4X3ZhbHVlICsgbWluX3ZhbHVlOwoJcmV0dXJuIHJhbmRvbTsKfQoKaW50IG1haW4odm9pZCkgewoKLy9leCAyCmNoYXIgc3RyWzEwMF07CmNpbiA+PiBzdHI7CgppbnQgbiA9IHN0cmxlbihzdHIpOwpzZXQ8Y2hhcj4gczsKCmZvcihpbnQgaSA9IDA7IGkgPCBuOyArK2kpewoJaWYoaXNkaWdpdChzdHJbaV0pKXsKCQlzLmluc2VydChzdHJbaV0pOwoJfQp9Cgpjb3V0IDw8IHMuc2l6ZSgpOwoKLy9leCAzCnZlY3RvcjxpbnQ+IG15dmVjdG9yICgxMCk7CmZvciAoaW50IGkgPSAwOyBpIDwgMTA7ICsraSl7CglteXZlY3Rvci5hdChpKSA9IHJhbmQoKSAlIDEwMDsKfQoKZm9yICh2ZWN0b3IgPGludD46Oml0ZXJhdG9yIGl0ID0gbXl2ZWN0b3IuYmVnaW4oKTsgaXQgIT0gbXl2ZWN0b3IuZW5kKCk7ICsraXQpewoJY291dCA8PCAnICcgPDwgKml0Owp9CgpzZXQgPGludD4gZDsKZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpewoJZm9yIChpbnQgaiA9IDA7IGogPCBuOyArK2opewoJCWQuaW5zZXJ0KGkqaSppK2oqaipqKTsKCX0KfQoKLy9mb3IgKHZlY3RvPGludD46Oml0ZXJhdG9yIGl0ID0gbXl2ZWN0b3IuYmVnaW4oKTsgaXQgIT0gbXl2ZWN0b3IuZW5kKCk7ICsraXQpewovLwlpZiAocy5maW5kKCppdGVyKSAhPSBzLmVuZCgpKXsKLy8JCWNvdXQgPDwgcwovLwl9Ci8vfQoKY291dCA8PCBlbmRsOwoKc2V0IDxpbnQ+IGY7CmludCBGMSA9IDA7CmludCBGMiA9IDE7CmludCBGMz0gMDsKCmYuaW5zZXJ0KEYxKTsKCmNvdXQgPDwgRjEgPDwgJyAnIDw8IEYyIDw8ICcgJzsKZm9yIChpbnQgaT0gMDsgaSA8PSAxMDsgKytpKXsKCUYzID0gRjErRjI7CgkKCWYuaW5zZXJ0KEYzKTsKCWNvdXQgPDwgRjMgPDwgJyAnOwoJCglGMSA9IEYyOwoJRjIgPSBGMzsKfQoKZm9yICh2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgaXQgPSBteXZlY3Rvci5iZWdpbigpOyBpdCAhPSBteXZlY3Rvci5lbmQoKTsgaXQrKyl7CglpZiAoZi5maW5kKCppdCkgIT0gZi5lbmQoKSl7CgkJLy9teXZlY3Rvci5lcmFzZShpdCk7Cgl9Cn0KCmZvciAoaW50IGkgPSAwOyBpIDwgbXl2ZWN0b3Iuc2l6ZSgpOyBpKyspewoJY291dCA8PCBteXZlY3Rvci5hdChpKTsKfQoKCnJldHVybiAwOwp9