#include<bits/stdc++.h>
using namespace std;
const int TESTS = 11; // including sample one
int main() {
srand(42);
char dr[200];
scanf("%s", dr);
vector<bool> scores;
for(int t = 0; t < TESTS; ++t) {
char input[100], output[100];
snprintf(input, sizeof(input), "%sinput%05d.in", dr, t);
snprintf(output, sizeof(output), "%soutput%05d.out", dr, t);
freopen(input, "r", stdin);
// read input
freopen(output, "r", stdin);
// read participant output
// if(the answer is correct) scores.push_back(true);
// else scores.push_back(false);
}
int total = 0;
// count correct tests, except for the sample test
for(int i = 1; i < (int) scores.size(); ++i)
total += scores[i];
printf("%lf\n", (double) total / (TESTS - 1)); // the number of points
for(int rep = 0; rep < 2; ++rep) // for some reason you have to print this twice, I don't know why
for(int i = 0; i < (int) scores.size(); ++i) {
printf("%d", (int) scores[i]);
if(i == (int) scores.size() - 1) puts("");
else printf(" ");
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IFRFU1RTID0gMTE7IC8vIGluY2x1ZGluZyBzYW1wbGUgb25lCmludCBtYWluKCkgewoJc3JhbmQoNDIpOwoJY2hhciBkclsyMDBdOwoJc2NhbmYoIiVzIiwgZHIpOwoJdmVjdG9yPGJvb2w+IHNjb3JlczsKCWZvcihpbnQgdCA9IDA7IHQgPCBURVNUUzsgKyt0KSB7CgkJY2hhciBpbnB1dFsxMDBdLCBvdXRwdXRbMTAwXTsKCQlzbnByaW50ZihpbnB1dCwgc2l6ZW9mKGlucHV0KSwgIiVzaW5wdXQlMDVkLmluIiwgZHIsIHQpOwoJCXNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlc291dHB1dCUwNWQub3V0IiwgZHIsIHQpOwoJCQoJCWZyZW9wZW4oaW5wdXQsICJyIiwgc3RkaW4pOwoJCQoJCS8vIHJlYWQgaW5wdXQKCQkKCQlmcmVvcGVuKG91dHB1dCwgInIiLCBzdGRpbik7CgkJCgkJLy8gcmVhZCBwYXJ0aWNpcGFudCBvdXRwdXQKCQkvLyBpZih0aGUgYW5zd2VyIGlzIGNvcnJlY3QpIHNjb3Jlcy5wdXNoX2JhY2sodHJ1ZSk7CgkJLy8JZWxzZSBzY29yZXMucHVzaF9iYWNrKGZhbHNlKTsKCX0KCWludCB0b3RhbCA9IDA7CgkvLyBjb3VudCBjb3JyZWN0IHRlc3RzLCBleGNlcHQgZm9yIHRoZSBzYW1wbGUgdGVzdAoJZm9yKGludCBpID0gMTsgaSA8IChpbnQpIHNjb3Jlcy5zaXplKCk7ICsraSkKCQl0b3RhbCArPSBzY29yZXNbaV07CglwcmludGYoIiVsZlxuIiwgKGRvdWJsZSkgdG90YWwgLyAoVEVTVFMgLSAxKSk7IC8vIHRoZSBudW1iZXIgb2YgcG9pbnRzCglmb3IoaW50IHJlcCA9IDA7IHJlcCA8IDI7ICsrcmVwKSAvLyBmb3Igc29tZSByZWFzb24geW91IGhhdmUgdG8gcHJpbnQgdGhpcyB0d2ljZSwgSSBkb24ndCBrbm93IHdoeQoJCWZvcihpbnQgaSA9IDA7IGkgPCAoaW50KSBzY29yZXMuc2l6ZSgpOyArK2kpIHsKCQkJcHJpbnRmKCIlZCIsIChpbnQpIHNjb3Jlc1tpXSk7CgkJCWlmKGkgPT0gKGludCkgc2NvcmVzLnNpemUoKSAtIDEpIHB1dHMoIiIpOwoJCQllbHNlIHByaW50ZigiICIpOwoJCX0KCXJldHVybiAwOwp9Cg==