#include <iostream>
#include <cstring>
using namespace std;
#define N 10
int main() {
int P[N] = {7, 51, 8, 10, 3, 6, 12, 3, 9, 8};
int C[N] = {9, 4, 6, 2, 7, 9, 11, 56, 7, 11};
int dp[N+1][N+1];
memset(dp, 0, sizeof(dp));
for(int x=N-1; x>=0; x--) {
for(int y=N-1; y>=0; y--) {
if(C[x] >= P[y]) {
dp[x][y] = max(1 + dp[x+1][y+1], dp[x+1][y]);
} else {
dp[x][y] = dp[x+1][y];
}
}
}
int ret = 0, index=0;
for(int i=0; i<N; i++) {
if(ret < dp[1][i]) {
ret = dp[1][i];
index = i;
}
}
cout << ret << " " << index << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgTiAxMAoKaW50IG1haW4oKSB7CglpbnQgUFtOXSA9IHs3LCA1MSwgOCwgMTAsIDMsIDYsIDEyLCAzLCA5LCA4fTsKCWludCBDW05dID0gezksIDQsIDYsIDIsIDcsIDksIDExLCA1NiwgNywgMTF9OwoJCglpbnQgZHBbTisxXVtOKzFdOwoJbWVtc2V0KGRwLCAwLCBzaXplb2YoZHApKTsKCQoJZm9yKGludCB4PU4tMTsgeD49MDsgeC0tKSB7CgkJZm9yKGludCB5PU4tMTsgeT49MDsgeS0tKSB7CgkJCWlmKENbeF0gPj0gUFt5XSkgewoJCQkJZHBbeF1beV0gPSBtYXgoMSArIGRwW3grMV1beSsxXSwgZHBbeCsxXVt5XSk7CgkJCX0gZWxzZSB7CgkJCQlkcFt4XVt5XSA9IGRwW3grMV1beV07CgkJCX0KCQl9Cgl9CgkKCWludCByZXQgPSAwLCBpbmRleD0wOwoJZm9yKGludCBpPTA7IGk8TjsgaSsrKSB7CgkJaWYocmV0IDwgZHBbMV1baV0pIHsKCQkJcmV0ID0gZHBbMV1baV07CgkJCWluZGV4ID0gaTsKCQl9Cgl9Cgljb3V0IDw8IHJldCA8PCAiICIgPDwgaW5kZXggPDwgZW5kbDsKCQoJcmV0dXJuIDA7Cn0=