#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// Hàm sinh tất cả các số dạng chỉ chứa các chữ số {0, 1} có tối đa 9 chữ số
void generateNumbers(vector<long long>& numbers, int limit) {
for (int i = 1; i < (1 << limit); ++i) { // Duyệt qua tất cả các số nhị phân có độ dài tối đa "limit"
long long num = 0;
for (int j = 0; j < limit; ++j) {
if (i & (1 << j)) {
num = num * 10 + 1; // Chỉ thêm chữ số 1 vào số
} else {
num = num * 10; // Chỉ thêm chữ số 0 vào số
}
}
numbers.push_back(num);
}
}
int main() {
int n;
cin >> n; // Đọc số nguyên dương n
vector<long long> numbers;
generateNumbers(numbers, 9); // Sinh tất cả các số có tối đa 9 chữ số
// Sắp xếp các số theo thứ tự tăng dần và loại bỏ các phần tử trùng lặp
sort(numbers.begin(), numbers.end());
numbers.erase(unique(numbers.begin(), numbers.end()), numbers.end());
// Duyệt qua các số trong vector để tìm số đầu tiên chia hết cho n
for (long long num : numbers) {
if (num % n == 0) {
cout << num << endl; // In ra số nhỏ nhất chia hết cho n
return 0;
}
}
return 0; // Trường hợp không tìm thấy (không bao giờ xảy ra với n <= 100)
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gSMOgbSBzaW5oIHThuqV0IGPhuqMgY8OhYyBz4buRIGThuqFuZyBjaOG7iSBjaOG7qWEgY8OhYyBjaOG7ryBz4buRIHswLCAxfSBjw7MgdOG7kWkgxJFhIDkgY2jhu68gc+G7kQp2b2lkIGdlbmVyYXRlTnVtYmVycyh2ZWN0b3I8bG9uZyBsb25nPiYgbnVtYmVycywgaW50IGxpbWl0KSB7CiAgICBmb3IgKGludCBpID0gMTsgaSA8ICgxIDw8IGxpbWl0KTsgKytpKSB7IC8vIER1eeG7h3QgcXVhIHThuqV0IGPhuqMgY8OhYyBz4buRIG5o4buLIHBow6JuIGPDsyDEkeG7mSBkw6BpIHThu5FpIMSRYSAibGltaXQiCiAgICAgICAgbG9uZyBsb25nIG51bSA9IDA7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBsaW1pdDsgKytqKSB7CiAgICAgICAgICAgIGlmIChpICYgKDEgPDwgaikpIHsKICAgICAgICAgICAgICAgIG51bSA9IG51bSAqIDEwICsgMTsgLy8gQ2jhu4kgdGjDqm0gY2jhu68gc+G7kSAxIHbDoG8gc+G7kQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbnVtID0gbnVtICogMTA7IC8vIENo4buJIHRow6ptIGNo4buvIHPhu5EgMCB2w6BvIHPhu5EKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBudW1iZXJzLnB1c2hfYmFjayhudW0pOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgY2luID4+IG47IC8vIMSQ4buNYyBz4buRIG5ndXnDqm4gZMawxqFuZyBuCgogICAgdmVjdG9yPGxvbmcgbG9uZz4gbnVtYmVyczsKICAgIGdlbmVyYXRlTnVtYmVycyhudW1iZXJzLCA5KTsgLy8gU2luaCB04bqldCBj4bqjIGPDoWMgc+G7kSBjw7MgdOG7kWkgxJFhIDkgY2jhu68gc+G7kQoKICAgIC8vIFPhuq9wIHjhur9wIGPDoWMgc+G7kSB0aGVvIHRo4bupIHThu7EgdMSDbmcgZOG6p24gdsOgIGxv4bqhaSBi4buPIGPDoWMgcGjhuqduIHThu60gdHLDuW5nIGzhurdwCiAgICBzb3J0KG51bWJlcnMuYmVnaW4oKSwgbnVtYmVycy5lbmQoKSk7CiAgICBudW1iZXJzLmVyYXNlKHVuaXF1ZShudW1iZXJzLmJlZ2luKCksIG51bWJlcnMuZW5kKCkpLCBudW1iZXJzLmVuZCgpKTsKCiAgICAvLyBEdXnhu4d0IHF1YSBjw6FjIHPhu5EgdHJvbmcgdmVjdG9yIMSR4buDIHTDrG0gc+G7kSDEkeG6p3UgdGnDqm4gY2hpYSBo4bq/dCBjaG8gbgogICAgZm9yIChsb25nIGxvbmcgbnVtIDogbnVtYmVycykgewogICAgICAgIGlmIChudW0gJSBuID09IDApIHsKICAgICAgICAgICAgY291dCA8PCBudW0gPDwgZW5kbDsgLy8gSW4gcmEgc+G7kSBuaOG7jyBuaOG6pXQgY2hpYSBo4bq/dCBjaG8gbgogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7IC8vIFRyxrDhu51uZyBo4bujcCBraMO0bmcgdMOsbSB0aOG6pXkgKGtow7RuZyBiYW8gZ2nhu50geOG6o3kgcmEgduG7m2kgbiA8PSAxMDApCn0K