var list = []; for(var i = 0; i < 256; i++){ list.push(i); } var pos = 0; var lengths = [97,167,54,178,2,11,209,174,119,248,254,0,255,1,64,190]; var skip = 0; for(var length of lengths){ for(var i = 0; i < (length/2); i++){ var a = list[(pos+i)%list.length]; var b = list[(pos+length-1-i)%list.length]; list[(pos+i)%list.length] = b; list[(pos+length-1-i)%list.length] = a; } pos += length + skip; skip += 1; } console.log(list[0] * list[1]);