#include <stdio.h>

int main(void) {
  int n,p,num;
  int i = 0;
  int k = 0;
  int No[50]={0};                    //立候補者ナンバー
  int winer[9999];                   //出力用配列


  while(1){

    scanf("%d %d", &n, &p);          //立候補者数と小石の数を読み取り

    for (i = 0; i < n; i++){         //?配列を宣言すると同時に
      No[i] = 0;                     //?全ての要素を0に初期化したはずですが
    }                                //?この三行がないとうまく実行できないのは何ででしょう

    if(n==0 && p==0){                //(0 0)が入力されるとループ終了
      break;
    }
    if(n<3 || n >50 || p<2 || p>50){ //不適切な数字が入力されるループ終了
      break;
    }

    num = p;                         //pの値をコピー

    while (1){
      if (i == n){                   //iは現在碗を持っている立候補者を指す
	i = 0;                       //一周回ったらiをリセットする
      }
      if (num != 0){                 //碗に小石が入っている場合は　そのうち1個を取り　手許に置く
	num--;
	No[i]++;
      }
      else{
	num = No[i];                 //碗が空の場合は，手許に小石があればその全部を碗に入れる
	No[i] = 0;
      }
      if (No[i] == p){                //ある候補者が碗に残った最後の小石を取り出し　かつ他のどの候補者の手元にも小石がない場合
	winer[k] = i;                 //すなわち誰か一人が全ての小石を持つ場合　ゲーム終了
	k++;                          //現在碗を持つ立候補者のナンバーiを出力配列winerに書き込み
	break;                        //ループ終了
      }
      i++;                            //碗を次の人に渡す
    }
  }

  for(i=0;i<k;i++){                   //出力
    printf("%d\n", winer[i]);
  }

  return 0;
}