#include <stdio.h>

typedef struct _stRoom {
   long iDis, iLos;
} stRoom;

long i, j, iL, iM, iN, iP, iQ, iX;
long iDis, iStart, iEnd, iTemp;
long abVisited[5001];
long aiList[5001][11];
stRoom atQueue[5*5000];


int main (void) {
   scanf("%d %d %d", &iN, &iP, &iX);
   scanf("%d", &iQ);
   for (i = 0; i < iQ; ++i) {
      scanf("%d %d", &iL, &iM);
      for (j = 0; j < iM; ++j) {
         scanf("%d", &iTemp);
         if (iL + iTemp <= iN) {
            ++aiList[iL][0];
            aiList[iL][aiList[iL][0]] = iL + iTemp;
         }
         if (0 < iL -iTemp) {
            ++aiList[iL][0];
            aiList[iL][aiList[iL][0]] = iL -iTemp;
         }
      }
   }
   
   iDis = iStart = iEnd = 0;
   while ((iP != iX) && (iStart <= iEnd)) {
      if (!abVisited[iP]) {
         abVisited[iP] = 1;
         for (i = 1; i <= aiList[iP][0]; ++i) {
            atQueue[iEnd].iLos = aiList[iP][i];
            atQueue[iEnd].iDis = iDis + 1;
            ++iEnd;
         }   
      }
      iP = atQueue[iStart].iLos;
      iDis = atQueue[iStart].iDis;
      ++iStart;
   }
   if (iP == iX) {
      printf("%d\n", iDis);
   } else {
      printf("Falta el postre");
   }
   
   return(0);
}
