#include #include #include typedef long long int int64; #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) #define ABS(a) ((a)>(0)?(a):-(a)) #define POS(i,j) ((i)*(n+m+2)+(j)) int flow(int *g,int n,int m){ int used[102]; int dp[102]; int i; for(i=0;imax){ max=dp[i]; maxIndex=i; } } if(max==0) break; used[maxIndex]=1; memo[len++]=maxIndex; for(i=0;i=f && g[POS(k,now)]>=f){ g[POS(k,now)]-=f; g[POS(now,k)]+=f; now=k; } } return f; } void run(void){ int w; scanf("%d",&w); int n; scanf("%d",&n); int genga[50]; int i; for(i=0;i0 && (f=flow(graph,n,m),f>0)) w-=f; printf("%s\n",w<=0?"SHIROBAKO":"BANSAKUTSUKITA"); return; } int main(void){ run(); return 0; }