var d=new Array(
   151,180,115,129,156,105,152,104,110,102,
   168,226,160,157,128,114,112,216,140,107,
   138,214,114,206,101,181,148,184,174,216,
   156,154,105,102,144,131,134,113,169,219,
   151,203,103,183,119,161,132,130,131,106,
   113,113,135,204,141,169,103,143,142,218,
   163,197,155,172,134,136,130,226,125,140,
   120,165,129,127,104,219,126,175,118,130,
   156,216,136,193,123,147,151,104,170,187,
   174,133,171,100,117,171,175,137,156,220,
   136,117,153,112,135,180,115,141,116,205,
   169,162,114,189,113,175,161,117,133,190,
   140,226,149,198,141,123,160,198,125,133,
   113,192,129,123,168,192,136,226,104,190,
   136,203,117,190,127,216,167,155,123,173,
   157,139,113,194
);
var t = new Array(); 

var i=0,ii=0, n=0,nn=0; c=0; while(c<154) { 
for (var f0=198; f0<=328; f0++) { i+=f0; n+=f0; if (c>=154) break; 
for (var f1=168; f1<=283; f1++) { i+=f1; n+=f1; if (c>=154) break; 
if ( f1==(n+i) || (n+i)==283 ) continue; 
if ( (f1+n-i) == 266 ) break; 
for (var f2=120; f2<=260; f2++) { i+=f2; n+=f2; if (c>=154) break; 
if (f2==259) continue; 
for (var f3=149; f3<=267; f3++) { i+=f3; n+=f3; if (c>=154) break; 
if (f3==195) continue; 
if ( (f3+n-i) == 213 ) break; 
for (var f4=122; f4<=240; f4++) { i+=f4; n+=f4; if (c>=154) break; 
for (var f5=125; f5<=251; f5++) { i+=f5; n+=f5; if (c>=154) break; 
if (f5==154) continue; 
n%=127; i%=77; ii=i+d[c++]; nn=n+d[c++];nn%=127; ii%=77; t[ii]=nn; 
}}}}}}}

i=0; document.write('<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>');
