function wyth(r,c){return Math.floor( (r+1)*Phi )*fib(c+2) + r*fib(c+1) };function zeckinds(n){       var zinds=new Array(),i=2;	   while(fib(i)<=n)i++;i--;	   do{ zinds[zinds.length]=i;		   n=n-fib(i);		   if(n==0)return zinds;		   while(fib(i)>n)i--;		  }while(true);	};	function g4w(){document.g4Fans.results.value += table(document.g4F,"row0","row1","col0","col1",wyth)};function zbits(zis)	{var bits="",zi=0;	   if(zis.length==0)return "0"	   else for(var i=zis[0];i>1;i--)if(i==zis[zi]){bits+="1";if(zi<zis.length)zi++}else{bits+="0"};	   return bits	};function g4z(){	  var nlo=getInput(document.g4F.zfrom.value,"starting value","N"),	      nhi=getInput(document.g4F.zto.value,"end value","ON");	  if(n<0){alert("Zeckendorf representations are only found for numbers >0");return};	  if(nhi=="")nhi=nlo	  if(nhi==nlo)	  { document.g4Fans.results.value+=nlo+" has Zeck. rep. "+zbits(zeckinds(nlo))+"\r"	  } else	  {document.g4Fans.results.value+="Zeck Reps of "+nlo+" to "+nhi+":\r";	   for(var n=nlo;n<=nhi;n++)document.g4Fans.results.value+=zbits(zeckinds(n))+"\r"	  }	    	};function g4fromz(){       var z=document.g4F.zz.value,n=0;       z=z.replace(/o/g,"0").replace(/O/g,"0").replace(/\s/,"");	   if(z.replace(/1/g,"").replace(/0/g,"") != "")	      {alert("A Fib. rep. of a number here must contain only 0s and 1s");ERROR()}	   for(var i=1,aa,a=1,b=1;i<=z.length;i++)	      {if(a==a+1){alert("The number has become too large - try fewer bits");ERROR()};	       n+=z.charAt(z.length-i)*a;aa=a;a=a+b;b=aa;	       if(n==n+1){alert("The number has become too large - try fewer bits");ERROR()}	       };	   	   document.g4Fans.results.value+=z+" is  "+n+" ("+(z.indexOf("11")==-1?"Zeck":"Fib")+")\r"	};function findWcol(n){var zinds=zeckinds(n);return zinds[zinds.length-1]-2};function findWrow(n){var c=findWcol(n),r=0;while(wyth(r,c)<n)r++;return r};function g4(w){var n0=getInput(document.g4F.n0.value,"Wythoff-number","N+");	  var nend=(document.g4F.n1.value.replace(/ /,"")==""?n0:getInput(document.g4F.n1.value,"upto-n","N+"));	  if(nend<n0){alert("Your final Wythoff-number is less than the starting Wythoff-number");return};	  var ans="";	  for(var n=n0;n<=nend;n++)ans+=" "+n+":"+w+(w=='r'?findWrow(n):findWcol(n));	  document.g4Fans.results.value+=ans+"\r";	};