google.load("jquery", "1.4.2");
function urlencode (str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer
    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'

    str = (str+'').toString();
    
    // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
                                                                    replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}
function setFocus(){var o;if(o=document.getElementById("sr_0")){o.focus();}else if(o=document.getElementById("focus")){o.focus();}if(o=document.getElementById('jsit-wave')){wave_initialize();}}
var cur=0, max=$('#sr >*').size();
function vim_j(evt) { var ops=cur+1; if (ops>max) return false; $('#sr_'+ops).addClass("focus"); if (ops>0) $('#sr_'+(ops-1)).removeClass("focus"); ++cur; window.location.hash = '#sr_'+ops; return false; }
function vim_k(evt) { var ops=cur-1; if (ops<0) {window.location.hash='#maxw';return false;} $('#sr_'+ops).addClass("focus"); $('#sr_'+(ops+1)).removeClass("focus"); --cur; window.location.hash = '#sr_'+ops; return false; }
function vim_v(evt) { window.location = $('#sr_'+cur + " h3 a").attr("href"); }
function bind_vim() {$(document).bind('keydown','j',vim_j).bind('keydown','k',vim_k).bind('keydown','v',vim_v).bind('keydown','o',vim_v);}
function unbind_vim() {$(document).unbind('keydown','j',vim_j).unbind('keydown','k',vim_k).unbind('keydown','v',vim_v).unbind('keydown','o',vim_v);}
function iq24(p) {
  var n=p.split(' ',4);
  var re=/^\d{1,2}$/;
  var sign = new Array("+","-","*","/");
  if (4!=n.length) return;
  if (!n[0] || !n[0].match(re)) return;
  if (!n[1] || !n[1].match(re)) return;
  if (!n[2] || !n[2].match(re)) return;
  if (!n[3] || !n[3].match(re)) return;
  var s=_iq24();
  return (false == s) ? null : s;
  function _is24(s) {
    eval('r='+s);
    return (r-24<0.1 && r-24>-0.1);
  }
  function _iq24() { 
    var allstr = "";
    for(s1=0; s1<4; s1++) {
      for(s2=0; s2<4; s2++) {
        for(s3=0; s3<4; s3++) {
          for(n1=0; n1<4; n1++) {
            for(n2=0; n2<4; n2++) {
              if(n2==n1) continue;
              for(n3=0; n3<4; n3++) {
                if(n3==n1||n3==n2) continue;
                for(n4=0; n4<4; n4++) { 
                  if(n4==n1||n4==n2||n4==n3) continue;
                  var str = "";
                  str = n[n1]+ sign[s1] +n[n2]+ sign[s2] +n[n3]+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = n[n1]+ sign[s1] +"("+n[n2]+ sign[s2] +n[n3]+")"+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = "("+n[n1]+ sign[s1] +n[n2]+")"+ sign[s2] +n[n3]+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = n[n1]+ sign[s1] +n[n2]+ sign[s2] +"("+n[n3]+ sign[s3] +n[n4]+")"; 
                  if(_is24(str)) return str;
                  str = n[n1]+ sign[s1] +"("+n[n2]+ sign[s2] +n[n3]+ sign[s3] +n[n4]+")"; 
                  if(_is24(str)) return str;
                  str = "("+n[n1]+ sign[s1] +n[n2]+ sign[s2] +n[n3]+")"+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = "("+n[n1]+ sign[s1] +n[n2]+")"+ sign[s2] +"("+n[n3]+ sign[s3] +n[n4]+")"; 
                  if(_is24(str)) return str;
                  str = "("+n[n1]+ sign[s1] +"("+n[n2]+ sign[s2] +n[n3]+"))"+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = "(("+n[n1]+ sign[s1] +n[n2]+")"+ sign[s2] +n[n3]+")"+ sign[s3] +n[n4]; 
                  if(_is24(str)) return str;
                  str = n[n1]+ sign[s1] +"("+n[n2]+ sign[s2] +"("+n[n3]+ sign[s3] +n[n4]+"))"; 
                  if(_is24(str)) return str;
                  str = n[n1]+ sign[s1] +"(("+n[n2]+ sign[s2] +n[n3]+")"+ sign[s3] +n[n4]+")"; 
                  if(_is24(str)) return str;
                }
              }
            } 
          } 
        } 
      } 
    }
    return false; 
  }
}
