// Copyright 2005 David J. Nixon. All rights reserved.
var r8=new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","hoy","ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"),h4=0,n3=0,g6="$ $ $",d4="Dificultad",h0=new Array("Suave","Medio","Con fuerza","Malo","Diabólico"),f3="SudokuHints.com - Rompecabezas y Solver de Sudok",e6="¡Solver y los rompecabezas de Sudoku - inténtelo!",j9="Hi: \n\nAquí está un gran Web site del solver/del rompecabezas de Sudoku que usted debe ver:\n\n",f4="Commercial Enquiry",d7=" célula restante",u2=" células restantes",t9="f",n4="c",i8="Regla de célula - ",k0=i8+"filas",p9=i8+"columnas",m9=i8+"cajas",k9="Regla de dígito",l1=e0=e,e2="<b>Indirecta:</b> Mire en la caja $",h5="<b>Indirecta Grande:</b> Ponga $ en la caja $",r2="<b>Paso:</b> Ponga $ en la caja $ en $ ($)",u3="<b>Eliminación:</b> ",i0=u3+"El '$$' par en $ y $ permite el $ ser eliminado de $",i1=u3+"El $ en la fila $ está en la caja $, así que $ se pueden eliminar de la celda $ en esa caja",s5=u3+"El $ en la columna $ está en la caja $, así que $ se pueden eliminar de la celda $ en esa caja",l6=u3+"El $ en la caja $ está en la fila $, así que $ se pueden eliminar de la celda $ en esa fila",k3=u3+"El $ en la caja $ está en la columna $, así que $ se pueden eliminar de la celda $ en esa columna",n2=u3+"El x-wing de $s en $, $, $, $ permite le $ ser eliminado de $",f9=u3+"El '$$$' triple en $, $ y $ permite le $ ser eliminado de $",f7=u3+"El swordfish de $s en $ permite le $ ser eliminado de $",q3=" y ",r5="<b>Solucionado</b>",h1="<b>Pegado:</b> ",n9="indexOf",t4=(navigator.userAgent.toLowerCase()[n9]('safari')<0),p6="123456789",g2="ABCDEFGHI",r1=p6+"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS",m5="TUVWXYZ",k7="#fff",r7="#bbb",f0="#ddd",r0=document,n1=window,d3="red",q2="hidden",j0="visible",i2="innerHTML",s2="checked",d5="backgroundColor",n6="style",e4="value",e8="contentDocument",l4="substr",o6="charCodeAt",o8="charAt",j3="length",m3="-",e5="<div style='position:absolute;left:",q5="pt arial,sans-serif;",p7="<style type='text/css'>\nbody{font:normal 10"+q5+"}\n</style>\n",f6="r",m8="?pos=",n8="sudk",p=o=d1=g0=m2=h6=m0=l8=i6=0,y,t6,f,r4,m6,z=new Array(5),o2=new Array(5),q4=new Array(81),e=g3=p0=q8="",o1=e+n1.location,o7=i5=1,p3=9,u4,q6,p4,m7=new Array(e,e,e,e,e),e7=new Array(e,e,e,e,e),g4=new Array(e,e,e,e,e),d9,k1,u=new Array(0,0,0,3,3,3,6,6,6);function Init(j7){p=j7;C5();B1();B5();B6();g0=1;var i=o1[n9]("?tab=");if(i>-1)T(o1[o8](i+5));A0()}function A8(){return typeof pz!="undefined"}function X(i){return r0.getElementById(i)}function D(i,j){X(i)[i2]=j}function B2(i,j){X(i)[n6].visibility=j}function B(){if(n1.sidebar)n1.sidebar.addPanel(f3,o1,e);else if(r0.all)n1.external.AddFavorite(o1,f3);else if(n1.opera&&n1.print)return true}function B7(){z[o]=o2[o]=0;A()}function U(o5){var r,c,w,m1=0;if(o5){if(z[o]>0){w=-m6[o][--z[o]];c=m6[o][--z[o]];r=m6[o][--z[o]];m1=1}}else if(o2[o]>z[o]){r=m6[o][z[o]++];c=m6[o][z[o]++];w=m6[o][z[o]++];m1=1}if(m1){q4[r*9+c][e4]=w>0?w:e;w>0?F(r,c,w):B0();B4();C2();M()}A()}function B8(r,c,w){var i;while(z[o]>242){for(i=0;i<243;i++)m6[o][i]=m6[o][i+3];z[o]-=3}m6[o][z[o]++]=r;m6[o][z[o]++]=c;m6[o][z[o]++]=w;o2[o]=z[o];A()}function A(){X("b5").disabled=!z[o];X("b6").disabled=z[o]==o2[o]}function P(s6){s6.blur();if(g0)X("pr").href="sudoku-print.html"+m8+A7()+q8+h0[o]}function V(e1){var r,c;if(g0){O();if(X("ck")[s2])B4();else if(!e1)for(c=0;c<9;c++)for(r=0;r<9;r++)C0(r,c,k7)}}function B4(){var r,c,rr,cc,i,j4;if(X("ck")[s2])for(c=0;c<9;c++)for(r=0;r<9;r++){j4=1;i=f[r][c];if(i){for(cc=0;cc<9;cc++)if(c-cc&&i==f[r][cc]){j4=0;C0(r,cc,d3)}for(rr=0;rr<9;rr++)if(r-rr&&i==f[rr][c]){j4=0;C0(rr,c,d3)}for(rr=u[r];rr<u[r]+3;rr++)for(cc=u[c];cc<u[c]+3;cc++){if(c-cc&&r-rr&&i==f[rr][cc]){j4=0;C0(rr,cc,d3)}}}C0(r,c,j4?k7:d3)}}function C0(r,c,d0){q4[r*9+c][n6][d5]=X("g"+r+c)[n6][d5]=d0}function O(){var r,c;if(p3<9){for(r=p3;r<=u4;r++)for(c=q6;c<=p4;c++)if(q4[r*9+c][n6][d5]!=d3)C0(r,c,k7);p3=9}}function B1(){var i,j=1,k,g1=n5=0,m4=new Date(),g8,q0,b,h,h7,l9=p6+m3,g9=n1.name;if(A8()){i=o1[n9]("?date=");while(o1[o8](p3*2)!=i2[o8](0)&&o1[o8](17)!=l4[o8](0)&&o1[o8](1)!=i2[o8](0))i++;q0=i+1?o1[l4](i+6,8):e;g8=Math.ceil((m4.getTime()/10000-m4.getTimezoneOffset()*6-111758400)/8640);if(g8<1)g8=1;do{p8=e+m4.getFullYear();b=m4.getMonth();if(b<9)p8+="0";p8+=b+1;if(!n5)l=p8;b=m4.getDate();if(b<10)p8+="0";p8+=b;g8--;r0.forms['fa'].ai.options[j++]=new Option(N(p8,!n5,1),p8+g8);g1=q0==p8?p8+g8:g1==e?p8+g8:g1;m4.setDate(m4.getDate()-1);n5++}while(g8>0&&n5<62);g=t6*r4+e4[o6](0)+i2[o6](0)+o6[o6](1)+j3[o6](0)+o8[o6](0)+l4[o6](0)+o8[o6](1)+j3[o6](1);i=o1[n9](m8);if(i>-1){q0=o1[l4](i+5);if(q0[j3]>0){m2=1;b=q0[l4](0,81).replace(/0/g,m3);while(b[j3]<81)b+=m3;m7[0]=e7[0]=b;B2("t0",q2)}}else if(g9[l4](0,4)==n8){o=g9[l4](4,1)-0;X("pc")[s2]=(g9[l4](6,1)=="1");X("ck")[s2]=(g9[l4](7,1)=="1");q8=g9[l4](8,8);for(i=0;i<5;i++){m7[i]=e7[i]=e;h7=16+i*81;for(j=h7;j<h7+81;j++){h=g9[o8](j);if(l9[n9](h)>-1){m7[i]+=h;e7[i]+=h}if(g2[n9](h)>-1){m7[i]+="-";e7[i]+=p6[o8](h[o6](0)-65)}}}n1.name=e}else B9(g1)}}function R(){if(g0){e7[o]=m7[o];g4[o]=e;B7();A0()}}function L(i){if(A8()&&i){B9(i);B2("t0",j0);m2=0;for(i=0;i<5;i++){g4[i]=e;z[i]=o2[i]=0}A();B5();A0()}}function C(){var i,b=e;if(g0){O();for(i=0;i<81;i++)b+=m3;e7[o]=b;g4[o]=e;B7();A0()}}function B9(i){var j=k6=j2=0,o4=1,k,h,b,i4,o0,w,l7,t3=e,k4=new Array(0,2,7,6,9,1,5,4,3,8);q8=i[l4](0,8);i=i[l4](8)-0;i4=parseInt(i/426);i%=426;if(i4){do{if(o4&1)o4=(o4>>1)^272;else o4=o4>>1;if(o4<427)if(k6++==i){i=o4-1;j2=1}}while(o4-1&&!j2)}while(X(f6)[i2]!=f6)i++;for(k=0;k<pz[i][j3];k++){w=0;l7=0;h=pz[i][o8](k);if(h==m3)l7=1;else{o0=r1[n9](h);if(o0>-1){w=o0%9+1;l7=parseInt(o0/9)}else{o0=m5[n9](h);if(o0!=-1)l7=o0+1}}while(l7--)t3+=m3;if(w){for(b=0;b<i4;b++)w=k4[w];t3+=w}if(t3[j3]==81){m7[j]=e7[j]=t3;t3=e;j++}}}function N(p8,p5,h2){var d2=e,f1;if(p8[j3]==8){f1=p8[l4](6,2)-0;r4=(f1%4==0||f1%100!=4)?29:28;d2=(h2?r8[p5>0?7:new Date(p8[l4](0,4),p8[l4](4,2)-1,p8[l4](6,2)).getDay()]+", ":e)+I(g6,(h4&&f1<10?"0":e)+(n3?f1+["th","st","nd","rd"][!(f1>10&&f1<14||f1%10>3)*f1%10]:f1),r8[p8[l4](4,2)-1+8],p8[l4](0,4))}return d2}function B5(){var i=N(q8,0,p),j=o1[n9]("?date=*"),k=o1[o6](17)!=q5[o6](9)?o1[o6](21)!=q5[o6](9)?o1[o8](3)!=j3[o8](1)?0:j:j:j;do{D("c1",i);D("c2",i);i++;k++}while(k)}function M(){X("lk").href=(p<1?"index":"sudoku-"+(p<2?"medium":"large"))+".html"+m8+A7()}function W(b){g4[o]+=b+"<br>";A1()}function C1(b){if(i5)d9[i2]=b;else{d9.open();d9.write(p7+b);d9.close()}}function A1(){if(i5)k1[i2]=g4[o];else{k1.open();k1.write(p7+g4[o]);k1.close()}}function B6(){var r,c,i7=n0=e,r9=new Array(37,45,55,12,18,24),t2=(r0.all)?11:12,k8=(r0.all)?8:10,i3=" 2px solid;",q7="background-color:"+k7;for(r=0;r<9;r++)for(c=0;c<9;c++){i7+=e5+c*r9[p]+"px;top:"+r*r9[p]+"px;width:"+(r9[p]-2)+"px;height:"+(r9[p]-2)+"px;border-top:"+(r%3?r7:"#000")+i3+(r>7?"border-bottom:#000"+i3:e)+"border-left:"+(c%3?r7:"#000")+i3+(c>7?"border-right:#000"+i3:e)+q7+";' id='g"+r+c+"'></div>";n0+=e5+(t2+c*r9[p])+"px;top:"+(k8+r*r9[p])+"px;'><input style='border:0;width:"+(r9[p]-21)+"px;font:bold "+r9[p+3]+q5+"text-align:center;vertical-align:middle;"+(t4?q7:e)+"' type='text' id='"+r+c+"' size='1' maxlength='1' onKeyUp='G(event,"+r+","+c+")'></div>"}D("gd",i7+n0);for(r=0;r<9;r++)for(c=0;c<9;c++)q4[r*9+c]=X(e+r+c)}function E(i){var j="mai";j+="lto:";j+=i-1?"comments@"+"sudokuhints.com":document.eMailer.email.value;j+=i?"?subject=":e;j+=i-1?e:escape(e6)+"&body="+escape(j9+o1);j+=i-2?e:f4;n1.location=j}function C3(){var r,c,l2=e,r9=new Array(37,45,55,26,32,40),i3="color:#000;",h8="px;font:"+(p+7)+q5;for(r=0;r<9;r++)for(c=0;c<9;c++)l2+=e5+(4+c*r9[p])+"px;top:"+(2+r*r9[p])+h8+(t4?i3:e)+"' id='"+"u"+r+c+"'></div>"+e5+(5+c*r9[p])+"px;top:"+(r9[p+3]+r*r9[p])+h8+(t4?i3:e)+"' id='"+"l"+r+c+"'></div>";D("nb",l2);i6=1}function Q(){var i9=X("pc")[s2];if(g0){if(!i6)C3();B2("nb",(i9)?j0:q2);if(i9)C2()}}function G(s7,r,c){var f2,l0=f8=0,s4=r,s3=c,j5;var h;if(o7){O();f2=s7.charCode?s7.charCode:s7.keyCode;if(f2>36&&f2<41){if(f2%2)f8=f2-29;else l0=f2-30;do{s4=(s4+l0)%9;s3=(s3+f8)%9;j5=s4*9+s3}while(m7[o][o8](j5)==q4[j5][e4]&&(s4-r||s3-c));q4[j5].select()}else{h=q4[r*9+c][e4];if(h&&p6[n9](h)<0)q4[r*9+c][e4]=h=e;if(!h&&f[r][c]){B8(r,c,-f[r][c]);B0()}else if(f[r][c]!=h){F(r,c,h);B8(r,c,h)}B4();C2();M()}}}function J(g5){var t0=e,i=o1[n9](m8),j,h;if(g0){if(i<0){n1.name=n8+o+p+(X("pc")[s2]?"1":"0")+(X("ck")[s2]?"1":"0")+q8;e7[o]=A7();for(i=0;i<5;i++)for(j=0;j<81;j++){h=e7[i][o8](j);n1.name+=(h==m7[i][o8](j))?h:(h=="-"?h:g2[o8](h[o6](0)-49))}}else g5.href+=o1[l4](i)}}function T(e9){X("a"+e9).blur();if(g0){if(e9>4){X("a5").className=e9==5?"a0":"a1";X("a6").className=e9==6?"a0":"a1";X("st").height=e9==5?51:400}else if(e9-o){e7[o]=A7();o=e9;A0();A()}}return false}function A0(){var i;for(i=0;i<5;i++)X("a"+i).className=i==o?"a0":"a1";if(!m2)D("d1",d4+": "+h0[o]);if(A8())A5();C1(e);A1();V(1);if(X("pc")[s2])Q();M()}function A4(){var i,j1,t1=new Array(326,407,497,77,96,116);j1=X("bd")[n6];j1.width=j1.height=t1[p]+"px";for(i=1;i<9;i++)X("b"+i)[n6].width=t1[p+3]+"px";B5()}function A5(){var r,c,i,h;d1=o7=0;for(r=0;r<9;r++)for(c=0;c<9;c++){f[r][c]=0;for(i=1;i<10;i++)y[r][c][i]=1}r=c=0;for(i=0;i<81&&l<g;i++){h=e7[o][o8](i);h==m3?h=e:F(r,c,h);q4[i][e4]=h;q4[i][n6].color=m7[o][o8](i)==h?"#000":"#00c";if(++c>8){c=0;r++}}o7=1}function B0(){var r,c,h;for(r=0;r<9;r++)for(c=0;c<9;c++){C0(r,c,k7);f[r][c]=0;for(i=1;i<10;i++)y[r][c][i]=1}d1=0;for(r=0;r<9;r++)for(c=0;c<9;c++){h=q4[r*9+c][e4];if(h)F(r,c,h)}}function F(r,c,w){var rr,cc,i;for(i=0;i<9;i++)y[r][i][w]=y[i][c][w]=0;for(rr=u[r];rr<u[r]+3;rr++)for(cc=u[c];cc<u[c]+3;cc++)y[rr][cc][w]=0;for(i=1;i<=9;i++)y[r][c][i]=0;y[r][c][w]=1;f[r][c]=w;d1++}function C2(){var r,c,i,b,p1;if(!i6)C3();if(X("pc")[s2])for(r=0;r<9;r++)for(c=0;c<9;c++){b=p1=e;if(!f[r][c])for(i=1;i<=9;i++)if(y[r][c][i])b[j3]<6?b+=i:p1+=i;D("u"+r+c,b);D("l"+r+c,p1)}}function A7(){var i,h,b=e;for(i=0;i<81;i++){h=q4[i][e4];b+=h?h:m3}return b}function A3(i){return i?h1+i+(i-1?u2:d7):r5}function H(d6){var r,c;if(g0){O();if(A9()){o7=0;for(r=u[m0];r<u[m0]+3;r++)for(c=u[l8];c<u[l8]+3;c++)if(q4[r*9+c][n6][d5]!=d3)C0(r,c,f0);C1(I(d6?h5:e2,d6?h6:g3,g3).replace(l1,e0));p3=u[m0];u4=p3+2;q6=u[l8];p4=q6+2;o7=1}else C1(A3(81-d1))}}function S(k2){var b,q9=0;if(g0){O();o7=0;while(!q9&&A9()){F(m0,l8,h6);q4[m0*9+l8][e4]=h6;B8(m0,l8,h6);if(k2){C0(m0,l8,f0);p3=u4=m0;q6=p4=l8;q9=1}b=I(r2,h6,g3,Y(m0,l8),p0).replace(l1,e0);C1(k2?b:e);W(b)}o7=1;C2();M();if(!q9){C1(b=A3(81-d1));W(b)}}}function C5(){var r,c,i;y=new Array(9);for(r=0;r<9;r++){y[r]=new Array(9);for(c=0;c<9;c++){y[r][c]=new Array(10);for(i=1;i<10;i++)y[r][c][i]=1}}f6+=p6[o8](0);f=new Array(9);for(r=0;r<9;r++){f[r]=new Array(9);for(c=0;c<9;c++)f[r][c]=0}t6=(9*3)<<8;m6=new Array(5);for(i=0;i<5;i++){m6[i]=new Array(243);z[i]=o2[i]=0;g4[i]=e}f6+=f6+o8[o8](0)+2;while(!X(f6))i++;if(n1.frames&&n1.frames["st"]){d9=n1.frames["st"].window.document;k1=n1.frames["rs"].window.document;i5=0}else if(r0.frames){d9=r0.frames["st"].document.body;k1=r0.frames["rs"].document.body}else if(X("rs")[e8]){X("st").height=21;d9=X("st")[e8].body;k1=X("rs")[e8].body}if(i5)d9[n6].font=k1[n6].font="normal 10"+q5}function C4(r,c,w,b,i,j,v,p1){return(y[r][c][w]?b:e)+(y[r][c][w]&&y[i][j][v]?q3:e)+(y[i][j][v]?p1:e)}function A2(r,c,w,b,i,j,v,p1,rr,cc,p2,s1){return(y[r][c][w]?(b+(y[i][j][v]&&y[rr][cc][p2]?", ":(y[i][j][v]||y[rr][cc][p2])?q3:e)):e)+C4(i,j,v,p1,rr,cc,p2,s1)}function B3(i,j,k,r,w,v,p2){var h=", ",b=y[j][w][i]?Y(j,w)+h:e;b+=y[j][v][i]?Y(j,v)+h:e;b+=y[j][p2][i]?Y(j,p2)+h:e;b+=y[k][w][i]?Y(k,w)+h:e;b+=y[k][v][i]?Y(k,v)+h:e;b+=y[k][p2][i]?Y(k,p2)+h:e;b+=y[r][w][i]?Y(r,w)+h:e;b+=y[r][v][i]?Y(r,v)+h:e;b+=y[r][p2][i]?Y(r,p2)+h:e;b=b[l4](0,b[j3]-2);return b}function Y(i,j){return " "+t9+(i+1)+n4+(j+1)}function C6(x,j){var i=0;while(j>0){if(x&256)j--;x=x<<1;i++}return i}function I(b){var i,j=b.split("$"),p1=j[0];for(i=1;i<j[j3];i++)p1+=arguments[i]+j[i];return p1}function K(j){var i;for(i=0;j;i++)j&=j-1;return i}function A9(){var r,c,rr,cc,i,j,k,r6,l5=0,t,t7,g7,d8,n7,q,n,s9,o3,j8,h9,d=new Array(0,3,6),t5=new Array(1,1,1,2,2,2,3,3,3),s0=new Array(0,0,0),x,e3,l3,s,m=new Array(9),s8=new Array(9),a,w,v,p2;if(d1<81){do{for(q=0;q<3&&!l5;q++)for(n=0;n<3&&!l5;n++)for(i=1;i<=9&&!l5;i++){r6=j8=h9=0;for(r=d[q];r<d[q]+3;r++)for(c=d[n];c<d[n]+3;c++)if(y[r][c][i]){r6++;j8=r;h9=c}if(r6==1&&!f[j8][h9]){l5=1;g3=q*3+n+1;m0=j8;l8=h9;h6=i;p0=m9}}for(r=0;r<9&&!l5;r++)for(i=1;i<=9&&!l5;i++){r6=0;for(c=0;c<9;c++)if(y[r][c][i]){r6++;h9=c}if(r6==1&&!f[r][h9]){l5=1;g3=u[r]+t5[h9];m0=r;l8=h9;h6=i;p0=k0}}for(c=0;c<9&&!l5;c++)for(i=1;i<=9&&!l5;i++){r6=0;for(r=0;r<9;r++)if(y[r][c][i]){r6++;j8=r}if(r6==1&&!f[j8][c]){l5=1;g3=u[j8]+t5[c];m0=j8;l8=c;h6=i;p0=p9}}for(r=0;r<9&&!l5;r++)for(c=0;c<9&&!l5;c++)if(!f[r][c]){r6=0;for(i=1;i<=9&&!l5;i++)r6+=y[r][c][i];if(r6==1){i=1;while(i<9&&!y[r][c][i])i++;l5=1;g3=u[r]+t5[c];m0=r;l8=c;h6=i;p0=k9}}if(!l5){t=0;x=new Array(9);for(r=0;r<9;r++){x[r]=new Array(9);for(c=0;c<9;c++){l3=0;for(i=1;i<=9;i++)l3=(l3<<1)|(!f[r][c]&&y[r][c][i]);x[r][c]=l3}}for(r=0;r<9&&!t;r++){a=0;for(c=0;c<9;c++)if(!f[r][c])m[a++]=c;for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++){s=x[r][m[i]]|x[r][m[j]];if(K(s)==2){w=C6(s,1);v=C6(s,2);for(cc=0;cc<9;cc++)if(cc-m[i]&&cc-m[j])if(s&x[r][cc]){W(I(i0,w,v,Y(r,m[i]),Y(r,m[j]),C4(r,cc,w,w,r,cc,v,v),Y(r,cc)));y[r][cc][w]=y[r][cc][v]=0;t=1}}}}for(c=0;c<9&&!t;c++){a=0;for(r=0;r<9;r++)if(!f[r][c])m[a++]=r;for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++){s=x[m[i]][c]|x[m[j]][c];if(K(s)==2){w=C6(s,1);v=C6(s,2);for(rr=0;rr<9;rr++)if(rr-m[i]&&rr-m[j])if(s&x[rr][c]){W(I(i0,w,v,Y(m[i],c),Y(m[j],c),C4(rr,c,w,w,rr,c,v,v),Y(rr,c)));y[rr][c][w]=y[rr][c][v]=0;t=1}}}}for(q=0;q<3&&!t;q++)for(n=0;n<3&&!t;n++){a=0;for(r=d[q];r<d[q]+3;r++)for(c=d[n];c<d[n]+3;c++)if(!f[r][c]){m[a]=r;s8[a]=c;a++}for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++){s=x[m[i]][s8[i]]|x[m[j]][s8[j]];if(K(s)==2){w=C6(s,1);v=C6(s,2);for(rr=d[q];rr<d[q]+3;rr++)for(cc=d[n];cc<d[n]+3;cc++)if((rr-m[i]||cc-s8[i])&&(rr-m[j]||cc-s8[j]))if(s&x[rr][cc]){W(I(i0,w,v,Y(m[i],s8[i]),Y(m[j],s8[j]),C4(rr,cc,w,w,rr,cc,v,v),Y(rr,cc)));y[rr][cc][w]=y[rr][cc][v]=0;t=1}}}}for(r=0;r<9&&!t;r++)for(i=1;i<=9&&!t;i++){r6=d8=0;while(d8<9&&!y[r][d8][i])d8++;n7=8;while(n7>=0&&!y[r][n7][i])n7--;if(n7>d8&&u[d8]==u[n7])for(rr=u[r];rr<u[r]+3;rr++)for(cc=u[d8];cc<u[d8]+3;cc++)if(rr-r)if(y[rr][cc][i]){W(I(i1,i,r+1,u[r]+t5[cc],i,Y(rr,cc)));y[rr][cc][i]=0;t=1}}for(c=0;c<9&&!t;c++)for(i=1;i<=9&&!t;i++){r6=t7=0;while(t7<9&&!y[t7][c][i])t7++;g7=8;while(g7>=0&&!y[g7][c][i])g7--;if(g7>t7&&u[t7]==u[g7])for(rr=u[t7];rr<u[t7]+3;rr++)for(cc=u[c];cc<u[c]+3;cc++)if(cc-c)if(y[rr][cc][i]){W(I(s5,i,c+1,u[rr]+t5[c],i,Y(rr,cc)));y[rr][cc][i]=0;t=1}}for(q=0;q<3&&!t;q++)for(n=0;n<3&&!t;n++)for(i=1;i<=9&&!t;i++){s0[0]=s0[1]=s0[2]=0;for(s9=0;s9<3;s9++)for(c=d[n];c<d[n]+3;c++)if(y[s9+d[q]][c][i])s0[s9]=1;if(s0[0]+s0[1]+s0[2]==1){r=0;while(s0[r]-1)r++;r+=d[q];for(c=0;c<9;c++)if(c<d[n]||c>d[n]+2)if(y[r][c][i]){W(I(l6,i,q*3+n+1,r+1,i,Y(r,c)));y[r][c][i]=0;t=1}}}for(q=0;q<3&&!t;q++)for(n=0;n<3&&!t;n++)for(i=1;i<=9&&!t;i++){s0[0]=s0[1]=s0[2]=0;for(o3=0;o3<3;o3++)for(r=d[q];r<d[q]+3;r++)if(y[r][o3+d[n]][i])s0[o3]=1;if(s0[0]+s0[1]+s0[2]==1){c=0;while(s0[c]-1)c++;c+=d[n];for(r=0;r<9;r++)if(r<d[q]||r>d[q]+2)if(y[r][c][i]){W(I(k3,i,q*3+n+1,c+1,i,Y(r,c)));y[r][c][i]=0;t=1}}}e3=new Array(9);for(r=0;r<9&&!t;r++){e3[r]=new Array(10);for(i=1;i<=9;i++){l3=0;for(c=0;c<9;c++)l3=(l3<<1)|(!f[r][c]&&y[r][c][i]);e3[r][i]=l3}}for(i=1;i<=9&&!t;i++){a=0;for(r=0;r<9;r++)if(e3[r][i])m[a++]=r;for(j=0;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++){s=e3[m[j]][i]|e3[m[k]][i];if(K(s)==2){w=C6(s,1)-1;v=C6(s,2)-1;for(rr=0;rr<9;rr++)if(rr-m[j]&&rr-m[k])if(s&e3[rr][i]){W(I(n2,i,Y(m[j],w),Y(m[j],v),Y(m[k],w),Y(m[k],v),i,C4(rr,w,i,Y(rr,w),rr,v,i,Y(rr,v))));y[rr][w][i]=y[rr][v][i]=0;t=1}}}}for(c=0;c<9&&!t;c++)for(i=1;i<=9;i++){l3=0;for(r=0;r<9;r++)l3=(l3<<1)|(!f[r][c]&&y[r][c][i]);e3[c][i]=l3}for(i=1;i<=9&&!t;i++){a=0;for(c=0;c<9;c++)if(e3[c][i])m[a++]=c;for(j=0;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++){s=e3[m[j]][i]|e3[m[k]][i];if(K(s)==2){w=C6(s,1)-1;v=C6(s,2)-1;for(cc=0;cc<9;cc++)if(cc-m[j]&&cc-m[k])if(s&e3[cc][i]){W(I(n2,i,Y(w,m[j]),Y(v,m[j]),Y(w,m[k]),Y(v,m[k]),i,C4(w,cc,i,Y(w,cc),v,cc,i,Y(v,cc))));y[w][cc][i]=y[v][cc][i]=0;t=1}}}}for(r=0;r<9&&!t;r++){a=0;for(c=0;c<9;c++)if(!f[r][c])m[a++]=c;for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++){s=x[r][m[i]]|x[r][m[j]]|x[r][m[k]];if(K(s)==3){w=C6(s,1);v=C6(s,2);p2=C6(s,3);for(cc=0;cc<9;cc++)if(cc-m[i]&&cc-m[j]&&cc-m[k])if(s&x[r][cc]){W(I(f9,w,v,p2,Y(r,m[i]),Y(r,m[j]),Y(r,m[k]),A2(r,cc,w,w,r,cc,v,v,r,cc,p2,p2),Y(r,cc)));y[r][cc][w]=y[r][cc][v]=y[r][cc][p2]=0;t=1}}}}for(c=0;c<9&&!t;c++){a=0;for(r=0;r<9;r++)if(!f[r][c])m[a++]=r;for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++){s=x[m[i]][c]|x[m[j]][c]|x[m[k]][c];if(K(s)==3){w=C6(s,1);v=C6(s,2);p2=C6(s,3);for(rr=0;rr<9;rr++)if(rr-m[i]&&rr-m[j]&&rr-m[k])if(s&x[rr][c]){W(I(f9,w,v,p2,Y(m[i],c),Y(m[j],c),Y(m[k],c),A2(rr,c,w,w,rr,c,v,v,rr,c,p2,p2),Y(rr,c)));y[rr][c][w]=y[rr][c][v]=y[rr][c][p2]=0;t=1}}}}for(q=0;q<3&&!t;q++)for(n=0;n<3&&!t;n++){a=0;for(r=d[q];r<d[q]+3;r++)for(c=d[n];c<d[n]+3;c++)if(!f[r][c]){m[a]=r;s8[a]=c;a++}for(i=0;i<a&&!t;i++)for(j=i+1;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++){s=x[m[i]][s8[i]]|x[m[j]][s8[j]]|x[m[k]][s8[k]];if(K(s)==3){w=C6(s,1);v=C6(s,2);p2=C6(s,3);for(rr=d[q];rr<d[q]+3;rr++)for(cc=d[n];cc<d[n]+3;cc++)if((rr-m[i]||cc-s8[i])&&(rr-m[j]||cc-s8[j])&&(rr-m[k]||cc-s8[k]))if(s&x[rr][cc]){W(I(f9,w,v,p2,Y(m[i],s8[i]),Y(m[j],s8[j]),Y(m[k],s8[k]),A2(rr,cc,w,w,rr,cc,v,v,rr,cc,p2,p2),Y(rr,cc)));y[rr][cc][w]=y[rr][cc][v]=y[rr][cc][p2]=0;t=1}}}}for(r=0;r<9&&!t;r++)for(i=1;i<=9;i++){l3=0;for(c=0;c<9;c++)l3=(l3<<1)|(!f[r][c]&&y[r][c][i]);e3[r][i]=l3}for(i=1;i<=9&&!t;i++){a=0;for(r=0;r<9;r++)if(e3[r][i])m[a++]=r;for(j=0;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++)for(r=k+1;r<a&&!t;r++){s=e3[m[j]][i]|e3[m[k]][i]|e3[m[r]][i];if(K(s)==3){w=C6(s,1)-1;v=C6(s,2)-1;p2=C6(s,3)-1;for(rr=0;rr<9;rr++)if(rr-m[j]&&rr-m[k]&&rr-m[r])if(s&e3[rr][i]){W(I(f7,i,B3(i,m[j],m[k],m[r],w,v,p2),i,A2(rr,w,i,Y(rr,w),rr,v,i,Y(rr,v),rr,p2,i,Y(rr,p2))));y[rr][w][i]=y[rr][v][i]=y[rr][p2][i]=0;t=1}}}}for(c=0;c<9&&!t;c++)for(i=1;i<=9;i++){l3=0;for(r=0;r<9;r++)l3=(l3<<1)|(!f[r][c]&&y[r][c][i]);e3[c][i]=l3}for(i=1;i<=9&&!t;i++){a=0;for(c=0;c<9;c++)if(e3[c][i])m[a++]=c;for(j=0;j<a&&!t;j++)for(k=j+1;k<a&&!t;k++)for(r=k+1;r<a&&!t;r++){s=e3[m[j]][i]|e3[m[k]][i]|e3[m[r]][i];if(K(s)==3){w=C6(s,1)-1;v=C6(s,2)-1;p2=C6(s,3)-1;for(cc=0;cc<9;cc++)if(cc-m[j]&&cc-m[k]&&cc-m[r])if(s&e3[cc][i]){W(I(f7,i,B3(i,w,v,p2,m[j],m[k],m[r]),i,A2(w,cc,i,Y(w,cc),v,cc,i,Y(v,cc),p2,cc,i,Y(p2,cc))));y[w][cc][i]=y[v][cc][i]=y[p2][cc][i]=0;t=1}}}}}}while(!l5&&t)}return l5}

