var d=new Array(
   129,186,123,112,148,128,118,108,121,153,
   129,209,111,133,109,172,118,224,145,146,
   101,210,129,123,102,160,109,220,136,150,
   142,167,138,213,102,129,112,170,141,212,
   133,123,110,176,149,143,142,107,145,132,
   142,169,121,197,149,112,146,131,126,156,
   132,188,149,174,123,110,146,150,119,157,
   140,182,109,149,128,108,145,126,112,163,
   137,170,141,186,104,196,117,218,128,220,
   139,101,149,124,110,124,119,208,127,153
);
var t = new Array(); 

var i=0,ii=0, n=0,nn=0; c=0; while(c<100) { 
for (var f0=171; f0<=288; f0++) { i+=f0; n+=f0; if (c>=100) break; 
for (var f1=180; f1<=323; f1++) { i+=f1; n+=f1; if (c>=100) break; 
if (f1==304) continue; 
if ( (f1+n-i) == 189 ) break; 
for (var f2=111; f2<=289; f2++) { i+=f2; n+=f2; if (c>=100) break; 
if (f2==177) continue; 
if ( f2==(n+i) || (n+i)==271 ) continue; 
if ( (f2+n-i) == 220 ) break; 
for (var f3=200; f3<=396; f3++) { i+=f3; n+=f3; if (c>=100) break; 
if ( (f3+n-i) == 309 ) break; 
for (var f4=164; f4<=332; f4++) { i+=f4; n+=f4; if (c>=100) break; 
for (var f5=170; f5<=361; f5++) { i+=f5; n+=f5; if (c>=100) break; 
if (f5==247) continue; 
if ( (f5+n-i) == 330 ) break; 
for (var f6=196; f6<=362; f6++) { i+=f6; n+=f6; if (c>=100) break; 
if ( f6==(n+i) || (n+i)==317 ) continue; 
n%=127; i%=50; ii=i+d[c++]; nn=n+d[c++];nn%=127; ii%=50; t[ii]=nn; 
}}}}}}}}

i=0; document.write('&lt;<a href="'); 
while( t[i] ) document.write('&#'+t[i++]+';'); 
i++; document.write('" title="'); 
while( t[i] ) document.write('&#'+t[i++]+';'); 
i++; document.write('">'); 
while( t[i] ) document.write('&#'+t[i++]+';'); 
i++; document.write('</a>&gt;');
