#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
void dij(int src, int dest, int n, vector<vector<pair<int,pair<int,int>>>> &adj, vector<int> &dist, int curr){
priority_queue<pair<int,pair<int,int>>, vector<pair<int,pair<int,int>>>, greater<pair<int,pair<int,int>>>> pq;
pq.push({0, {src, curr}});
dist[src] = 0;
while (!pq.empty()) {
int u = pq.top().second.first;
int d = pq.top().first;
int cur = pq.top().second.second;
pq.pop();
if (u == dest) break;
if (d > dist[u]) continue;
for(int i = 0; i < adj[u].size(); i++) {
int v = adj[u][i].first;
int weight = adj[u][i].second.first;
int cnt = adj[u][i].second.second;
if(cnt != cur){
weight += 60;
}
if (dist[u] + weight < dist[v]) {
dist[v] = dist[u] + weight;
pq.push({dist[v], {v, cnt}});
}
}
}
}
void splitnum(string s, int val, vector<vector<pair<int,pair<int,int>>>> &adj, int cnt, vector<int> &starter){
stringstream ss(s);
vector<int> floors;
int num;
while (ss >> num) {
floors.push_back(num);
}
bool flag = true;
for (int i = 1; i < floors.size(); i++) {
int sum = val*(floors[i] - floors[i - 1]);
adj[floors[i]].push_back({floors[i-1], {sum, cnt}});
adj[floors[i-1]].push_back({floors[i], {sum, cnt}});
if(floors[i - 1] == 0 && flag){
starter.push_back(floors[i - 1]);
flag = false;
}
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n, k;
while(cin >> n >> k){
vector<int> elevator(n);
vector<int> dist(100, LLONG_MAX);
vector<vector<pair<int,pair<int,int>>>> adj(100);
vector<int> starter;
for(int i = 0; i < n; i++){
cin >> elevator[i];
}
cin.ignore();
for(int i = 0; i < n; i++){
string s;
getline(cin, s);
splitnum(s, elevator[i], adj, i, starter);
}
dist[0] = 0;
for(int i = 0; i < starter.size(); i++){
dij(0,k,n,adj,dist,starter[i]);
}
if (dist[k] == LLONG_MAX) {
cout << "IMPOSSIBLE" << endl;
} else {
cout << dist[k] << endl;
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBlbmRsICJcbiIKCnZvaWQgZGlqKGludCBzcmMsIGludCBkZXN0LCBpbnQgbiwgdmVjdG9yPHZlY3RvcjxwYWlyPGludCxwYWlyPGludCxpbnQ+Pj4+ICZhZGosIHZlY3RvcjxpbnQ+ICZkaXN0LCBpbnQgY3Vycil7Cglwcmlvcml0eV9xdWV1ZTxwYWlyPGludCxwYWlyPGludCxpbnQ+PiwgdmVjdG9yPHBhaXI8aW50LHBhaXI8aW50LGludD4+PiwgZ3JlYXRlcjxwYWlyPGludCxwYWlyPGludCxpbnQ+Pj4+IHBxOwoJcHEucHVzaCh7MCwge3NyYywgY3Vycn19KTsKCWRpc3Rbc3JjXSA9IDA7Cgl3aGlsZSAoIXBxLmVtcHR5KCkpIHsKICAgICAgICBpbnQgdSA9IHBxLnRvcCgpLnNlY29uZC5maXJzdDsKICAgICAgICBpbnQgZCA9IHBxLnRvcCgpLmZpcnN0OwogICAgICAgIGludCBjdXIgPSBwcS50b3AoKS5zZWNvbmQuc2Vjb25kOwogICAgICAgIHBxLnBvcCgpOwogICAgICAgIGlmICh1ID09IGRlc3QpIGJyZWFrOwogICAgICAgIGlmIChkID4gZGlzdFt1XSkgY29udGludWU7CiAgICAgICAgCiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IGFkalt1XS5zaXplKCk7IGkrKykgewogICAgICAgICAgICBpbnQgdiA9IGFkalt1XVtpXS5maXJzdDsKICAgICAgICAgICAgaW50IHdlaWdodCA9IGFkalt1XVtpXS5zZWNvbmQuZmlyc3Q7CiAgICAgICAgICAgIGludCBjbnQgPSBhZGpbdV1baV0uc2Vjb25kLnNlY29uZDsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKGNudCAhPSBjdXIpewogICAgICAgICAgICAJd2VpZ2h0ICs9IDYwOwoJCQl9CiAgICAgICAgICAgIGlmIChkaXN0W3VdICsgd2VpZ2h0IDwgZGlzdFt2XSkgewogICAgICAgICAgICAgICAgZGlzdFt2XSA9IGRpc3RbdV0gKyB3ZWlnaHQ7CiAgICAgICAgICAgICAgICBwcS5wdXNoKHtkaXN0W3ZdLCB7diwgY250fX0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHNwbGl0bnVtKHN0cmluZyBzLCBpbnQgdmFsLCB2ZWN0b3I8dmVjdG9yPHBhaXI8aW50LHBhaXI8aW50LGludD4+Pj4gJmFkaiwgaW50IGNudCwgdmVjdG9yPGludD4gJnN0YXJ0ZXIpewoJc3RyaW5nc3RyZWFtIHNzKHMpOwoJdmVjdG9yPGludD4gZmxvb3JzOwoJaW50IG51bTsKCXdoaWxlIChzcyA+PiBudW0pIHsKCQlmbG9vcnMucHVzaF9iYWNrKG51bSk7Cgl9Cglib29sIGZsYWcgPSB0cnVlOwoJZm9yIChpbnQgaSA9IDE7IGkgPCBmbG9vcnMuc2l6ZSgpOyBpKyspIHsKCQlpbnQgc3VtID0gdmFsKihmbG9vcnNbaV0gLSBmbG9vcnNbaSAtIDFdKTsKCQlhZGpbZmxvb3JzW2ldXS5wdXNoX2JhY2soe2Zsb29yc1tpLTFdLCB7c3VtLCBjbnR9fSk7CgkJYWRqW2Zsb29yc1tpLTFdXS5wdXNoX2JhY2soe2Zsb29yc1tpXSwge3N1bSwgY250fX0pOwoJCWlmKGZsb29yc1tpIC0gMV0gPT0gMCAmJiBmbGFnKXsKCQkJc3RhcnRlci5wdXNoX2JhY2soZmxvb3JzW2kgLSAxXSk7CgkJCWZsYWcgPSBmYWxzZTsKCQl9Cgl9Cn0KCnNpZ25lZCBtYWluKCl7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKICAgIGludCBuLCBrOwogICAgd2hpbGUoY2luID4+IG4gPj4gayl7CiAgICAJdmVjdG9yPGludD4gZWxldmF0b3Iobik7CiAgICAJdmVjdG9yPGludD4gZGlzdCgxMDAsIExMT05HX01BWCk7CiAgICAJdmVjdG9yPHZlY3RvcjxwYWlyPGludCxwYWlyPGludCxpbnQ+Pj4+IGFkaigxMDApOwogICAgCXZlY3RvcjxpbnQ+IHN0YXJ0ZXI7CiAgICAJCiAgICAJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAJCWNpbiA+PiBlbGV2YXRvcltpXTsKCQl9CiAgICAJCiAgICAJY2luLmlnbm9yZSgpOwogICAgCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgCQlzdHJpbmcgczsgCiAgICAJCWdldGxpbmUoY2luLCBzKTsKICAgIAkJc3BsaXRudW0ocywgZWxldmF0b3JbaV0sIGFkaiwgaSwgc3RhcnRlcik7CgkJfQoJCQoJCWRpc3RbMF0gPSAwOwoJCWZvcihpbnQgaSA9IDA7IGkgPCBzdGFydGVyLnNpemUoKTsgaSsrKXsKCQkJZGlqKDAsayxuLGFkaixkaXN0LHN0YXJ0ZXJbaV0pOwoJCX0KCQkKCQlpZiAoZGlzdFtrXSA9PSBMTE9OR19NQVgpIHsKCQkJY291dCA8PCAiSU1QT1NTSUJMRSIgPDwgZW5kbDsKCQl9IGVsc2UgewoJCQljb3V0IDw8IGRpc3Rba10gPDwgZW5kbDsKCQl9Cgl9Cn0=