reb-smoothexp {; Ron Barnett, February 1999 ; General exponential smoothing algorithm ; with fine control over color spread. ; Best if used with a high bailout value ; for divergent fractals init: float iterexp = 0 float scale = @colors*#pi/128 complex zold = (0,0) loop: IF (@converge > 0) iterexp = iterexp + exp(-cabs(#z)) ELSE iterexp = iterexp + exp(-1/(cabs(zold - #z))) ENDIF zold = #z final: float smooth = iterexp*scale ez = cos(smooth)+flip(sin(smooth)) float angle = atan2(ez) IF (angle < 0) angle = angle + #pi * 2 ENDIF #index = angle * @palrange / (#pi * 512) ; #index = 0.01*iterexp if @solidb && cabs(#z) == 0 #solid = true endif default: title = "Exponential Smoothing" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param solidb caption = "Solid Background" default = false endparam param colors caption = "Color Spread" default = 2.0 hint = "2.0 approximates the iteration count. \ Use 10.0 for convergent fractals." endparam param palrange caption = "Palette Range" default = 256.0 hint = "256 means use the whole palette." endparam param converge caption = "Fractal Type" default = 1 enum = "Convergent" "Divergent" hint = "Mandelbrot is Divergent, Newton is Convergent." endparam } Jigsaw { ; Ron Barnett, Feb 27, 2000 ; concept from Triptych by Sylvie Gallet final: float h = #height/3 float r = 0 if @usecenter float cx = real(#center) float cy = imag(#center)*#width/#height else float cx = real(@cen) float cy = imag(@cen)*#width/#height endif float xp = real(#pixel) float yp = imag(#pixel)*#width/#height float hxp = real(#screenpixel) float hyp = imag(#screenpixel) float bh = @border*#width/4.8 xp = xp - cx yp = yp - cy if @function == 0 r = sqrt(abs(xp*xp - yp*yp)) elseif @function == 1 r = (xp^(2/3) + yp^(2/3))^1.5 elseif @function == 2 r = sqrt((xp*xp + yp*yp)*(xp*xp + yp*yp) - @a*xp*xp) elseif @function == 3 r = sqrt((xp*xp + yp*yp)*(xp-1)*(xp-1)-@a*xp*xp) elseif @function == 4 r = sqrt(@a*(xp*xp + yp*yp) - xp*xp*yp*yp) elseif @function == 5 r = sqrt(xp*xp + yp*yp) elseif @function == 6 r = sqrt((xp*xp*xp + yp*yp*yp) - @a*xp*yp) elseif @function == 8 r = sqrt(xp*xp - yp*yp) elseif @function == 9 r = sqrt((xp*xp + yp*yp)*(xp*xp + yp*yp) - @a*(xp*xp - yp*yp)) elseif @function == 10 r = sqrt(abs(xp*xp - yp*yp + 2*xp*yp)) elseif @function == 11 r = sqrt(xp*xp + yp*yp + xp*yp) elseif @function == 12 r = sqrt(xp*xp - yp*yp + 2*xp*yp) elseif @function == 13 r = sqrt(xp*xp*yp + yp - @a*xp) elseif @function == 14 r = sqrt(xp*xp + yp*yp + 2*xp*yp) elseif @function == 15 r = sqrt(xp*xp*(xp+@a) - yp*yp*(@a-xp)) elseif @function == 16 r = sqrt(xp*xp*xp + xp*yp*yp +@a*yp*yp - 3*@a*xp*xp) elseif @function == 17 r = sqrt(xp*xp*yp-@a*@a*(@a-yp)) endif if @function != 7 if @part == 0 if r > @inner/#magn #solid = true else if r < (@inner-@border)/#magn if @usesolid #solid = true else #index = (@color+1)/400 - 0.0025 endif else #index = 1+(@inner-r*#magn)/@border* \ (@randomness*real(#random)-1)-0.01 endif endif elseif @part == 1 if r <= @inner/#magn || r >= @ring/#magn #solid = true else if r > (@inner+@border)/#magn && r < (@ring-@border)/#magn if @usesolid #solid = true else #index = (@color+1)/400 - 0.0025 endif else if r >= (@ring-@border)/#magn #index = 1+(@ring-r*#magn)/@border* \ (@randomness*real(#random)-1)-0.01 endif if r <= (@inner+@border)/#magn #index = (@inner+@border-r*#magn)/@border + \ @randomness*real(#random)*(r*#magn-@inner)/@border-0.01 endif endif endif elseif @part == 2 if r <= @ring/#magn #solid = true else if r > (@ring+@border)/#magn if @usesolid #solid = true else #index = (@color+1)/400 - 0.0025 endif else #index = (@ring+@border-r*#magn)/@border + \ @randomness*real(#random)*(r*#magn-@ring)/@border-0.01 endif endif endif else if (trunc(hyp/h) != @part) #solid = true else float h2 = h/2 float w2 = #width/2 float bh = @border*#width/4.8 hyp = abs (hyp - h * @part - h2) - h2 + bh hxp = abs (hxp - w2) - w2 + bh if (hyp < 0) && (hxp < 0) if @usesolid #solid = true else #index = (@color+1) / 400 - 0.0025 endif elseif hyp > 0 && hxp < hyp #index = hyp/bh+@randomness*real(#random)*(1-hyp/bh) - 0.01 else #index = hxp/bh+@randomness*real(#random)*(1-hxp/bh) - 0.01 endif endif endif default: title = "Jigsaw" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param part caption = "Region" enum = "A" "B" "C" hint = "A, B, C are Top, Middle, Bottom \ for Horizontal Triptych" endparam param function caption = "Region shape" enum = "Abs Hyperbola" "Astroid" "Cartoid" \ "Conchoid" "Cruciform" "Ellipse" \ "Folium" "Horizontal Triptych" \ "Hyperbola" "Lemniscate" "Rot Abs Hyperbola" \ "Rot Ellipse" "Rot Hyperboloa" \ "Serpentine" "Stripes" "Strophoid" \ "Trisectrix" "Witch" default = 5 hint = "Use same setting for Jigsaw transformation" endparam param a caption = "Function parameter" default = 1.0 hint = "Only for Cartiod, Conchoid, Cruciform, \ Lemniscate, Rose, Serpentine, Strophoid, \ Trisectrix and Witch" endparam param inner caption = "Inner Radius" default = 0.8 hint = "Use same setting for Jigsaw transformation" endparam param ring caption = "Ring Radius" default = 1.6 hint = "Use same setting for Jigsaw transformation" endparam param cen caption = "Region Center" default = (0.0,0.0) hint = "Use same setting for Jigsaw transformation" endparam param usecenter caption = "Use screeen center" default = true endparam param border caption = "Border Width" default = 0.2 endparam param @color caption = "Inside color" default = 200 min = 0 max = 399 endparam param usesolid caption = "Use solid color" default = false endparam param randomness caption = "Randomize border" default = 0.0 endparam } reb_smoothexp_fBm_II {; Ron Barnett, April 2001 ; General exponential smoothing algorithm ; with fine control over color spread. ; Best if used with a high bailout value ; for divergent fractals ; corrected to have less variance on zooming init: float res = 0.0 float lowtrap=abs(round(real(@itrap)*#maxiter)) float hightrap=abs(round(imag(@itrap)*#maxiter)) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF float iterexp = 0 float scale = @colors*#pi/128 complex zold = (0,0) complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) loop: complex z1 = #z*(1-@weight) + p*@weight IF (@converge > 0) iterexp = iterexp + exp(-cabs(z1)) ELSE iterexp = iterexp + exp(-1/(cabs(zold - z1))) ENDIF zold = #z final: float smooth = iterexp*scale ez = cos(smooth)+flip(sin(smooth)) float angle = atan2(ez) IF (angle < 0) angle = angle + #pi * 2 ENDIF IF (@trap == true) IF (#numiter>=lowtrap)&&(#numiter<=hightrap) ; Is pixel in trap? #index = angle*@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) ELSE #solid = true ENDIF ELSE #index = angle*@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) ENDIF if @solidb && cabs(#z) == 0 #solid = true endif default: title = "Exp Smoothing with fBm II " param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param solidb caption = "Solid background" default = false endparam param colors caption = "Color Spread" default = 2.0 hint = "2.0 approximates the iteration count. \ Use 10.0 for convergent fractals." endparam param trap caption = "Use Iteration Trap" default = false endparam param itrap caption="Trap Limits" default=(0.0,1.0) hint="Between 0.0 and 1.0" endparam param palrange caption = "Palette Range" default = 256.0 hint = "256 means use the whole palette." endparam param converge caption = "Fractal Type" default = 1 enum = "Convergent" "Divergent" hint = "Mandelbrot is Divergent, Newton is Convergent." endparam param weight caption = "fBm Weight" default = 0.1 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default = 10.0 endparam } ChipsAreUs_fBm_II { ; Ron Barnett, January 2002 ; init: float d = 0 float d1 = 0 float d2 = 0 float d3 = 0 float astd = 1e30 float mind = 1e30 float mind1 = 1e30 float mind2 = 1e30 float mind3 = 1e30 float prd = 1e30 float prd1 = 1e30 float prd2 = 1e30 float prd3 = 1e30 float divd1 = 1e30 float divd11 = 1e30 float divd12 = 1e30 float divd13 = 1e30 float divd2 = 1e30 float divd21 = 1e30 float divd22 = 1e30 float divd23 = 1e30 float ang = 0 float f1 = 0 float f2 = 0 p_2 = @fn1(#pixel + @start) float zz = 0 int i = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float x = real(p_2) / @scale float y = imag(p_2) / @scale int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF x = x*(1-@weight) + xx*@weight y = y*(1-@weight) + yy*@weight while i < @iters xx = x if @formula == 0 ; Chip if x != 0 x = y - x/abs(x)*cos(sqr(log(abs(@b*x-@c)))) \ *atan(sqr(log(abs(@c*x-@b)))) else x = y - cos(sqr(log(abs(@b*x-@c)))) \ *atan(sqr(log(abs(@c*x-@b)))) endif y = @a - xx elseif @formula == 1 ; CosMartin x = y - cos(x) y = @a - xx elseif @formula == 2 ; Hopalong if x != 0 x = y - x/abs(x)*sqrt(abs(@b*x-@c)) else x = y - sqrt(abs(@b*x-@c)) endif y = @a - xx elseif @formula == 3 ; Liar if @version < 110 if x + flip(p_2) < @a x = @b - abs(y-x) y = abs(@c - xx - y) endif else if cabs(x+flip(p_2)) < cabs(@a) x = @b - abs(y-x) y = abs(@c - xx - y) endif endif elseif @formula == 4 ; PickMod x = sin(@a*y) - zz*cos(@b*x) y = zz*sin(@c*xx) - cos(-@a*y) zz = sin(xx) elseif @formula == 5 ; Threeply if x != 0 x = y - x/abs(x)*(abs(sin(x)*cos(@b) + @c \ - x*sin(@a + @b + @c))) else x = y - (abs(sin(x)*cos(@b) + @c \ - x*sin(@a + @b + @c))) endif y = @a - xx elseif @formula == 6 ; Quadruptwo if x != 0 x = y - x/abs(x)*sin(log(abs(@b*x-@c))) \ *atan(sqr(log(abs(@c*x-@b)))) else x = y - sin(log(abs(@b*x-@c))) \ *atan(sqr(log(abs(@c*x-@b)))) endif y = @a - xx endif i = i + 1 endwhile x = x * @scale y = y * @scale p_2 = fn2(x + flip(y)) loop: if @colorby == 0 ang = atan(imag(#z)/real(#z)) f1 = cos(ang)^3 f2 = sin(ang)^3 astroid = @spread*(f1 + flip(f2)) d = cabs(#z - p_2 + astroid) if d < astd astd = d endif elseif @colorby == 1 d = cabs(#z + @spread*(1,0) - p_2) d1 = cabs(#z + @spread*(0,1) - p_2) d2 = cabs(#z + @spread*(-1,0) - p_2) d3 = cabs(#z + @spread*(0,-1) - p_2) if d < mind mind = d endif if d1 < mind1 mind1 = d1 endif if d2 < mind2 mind2 = d2 endif if d3 < mind3 mind3 = d3 endif elseif @colorby == 2 d = cabs(#z*p_2 + @spread*(1,0) - p_2) d1 = cabs(#z*p_2 + @spread*(0,1) - p_2) d2 = cabs(#z*p_2 + @spread*(-1,0) - p_2) d3 = cabs(#z*p_2 + @spread*(0,-1) - p_2) if d < prd prd = d endif if d1 < prd1 prd1 = d1 endif if d2 < prd2 prd2 = d2 endif if d3 < prd3 prd3 = d3 endif elseif @colorby == 3 d = cabs(#z/p_2 + @spread*(1,0) - p_2) d1 = cabs(#z/p_2 + @spread*(0,1) - p_2) d2 = cabs(#z/p_2 + @spread*(-1,0) - p_2) d3 = cabs(#z/p_2 + @spread*(0,-1) - p_2) if d < divd1 divd1 = d endif if d1 < divd11 divd11 = d1 endif if d2 < divd12 divd12 = d2 endif if d3 < divd13 divd13 = d3 endif elseif @colorby == 4 d = cabs(p_2/#z + @spread*(1,0) - p_2) d1 = cabs(p_2/#z + @spread*(0,1) - p_2) d2 = cabs(p_2/#z + @spread*(-1,0) - p_2) d3 = cabs(p_2/#z + @spread*(0,-1) - p_2) if d < divd2 divd2 = d endif if d1 < divd21 divd21 = d1 endif if d2 < divd22 divd22 = d2 endif if d3 < divd23 divd23 = d3 endif endif final: if @colorby == 0 #index = astd*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) elseif @colorby == 1 #index = (mind+mind1+mind2+mind3)/4*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) elseif @colorby == 2 #index = (prd+prd1+prd2+prd3)/4*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) elseif @colorby == 3 #index = (divd1+divd11+divd12+divd13)/4*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) elseif @colorby == 4 #index = (divd2+divd21+divd22+divd23)/4*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf) endif default: title = "Chips Are Us with fBm II" param version caption = "Formula Version" default = 110 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param scale caption = "Scale" default = 0.01 endparam param start caption = "Starting offset" default = (0.0,0.0) endparam param colorby caption = "Color by" enum = "Astroid" "Minimum Distance" \ "Product" "Ratio1" "Ratio2" default = 0 endparam param formula caption = "Formula" enum = "Chip" "CosMartin" "Hopalong" "Liar" \ "Modified Pickover" "Threeply" "Quadruptwo" default = 0 endparam param iters caption = "Iterations" default = 2 endparam param spread caption = "Spread" default = 1.0 endparam param a caption = "Parameter 1" default = 1.0 endparam param b caption = "Parameter 2" default = 1.0 endparam param c caption = "Parameter 3" default = 1.0 endparam param weight caption = "fBm Weight" default = 0.1 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default = 10.0 endparam func fn1 caption = "Pre Function" default = ident() endfunc func fn2 caption = "Post Function" default = ident() endfunc } 4D-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex trap_z = 0 complex trap_p = 0 int iter = 0 float dist = 0 float distance = 0 float t = 0 int rt_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 float angle = @r/180*#pi bool msk = false bool trap = false bool rmask = false complex z1 = 0 complex c = 0 if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if !@oldver if @variant == "SJ" z1 = real(#pixel+@offset) + flip(imag(#pixel+@offset)*@r) c = @t + @r*real(#pixel+@offset) + flip(imag(#pixel+@offset)) else z1 = @r*real(#pixel+@offset) + flip(imag(#pixel+@offset)) c = @t + real(#pixel+@offset) + flip(imag(#pixel+@offset)*@r) endif elseif @oldver z1 = real(#pixel+@offset) + flip(imag(#pixel+@offset)*@r) c = @t + @r*real(#pixel+@offset) + flip(imag(#pixel+@offset)) endif loop: if !@oldver rt_iter = 0 offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*@scale z1 = z1*rot z1 = real(z1)*skew + flip(imag(z1)) z1 = z1 + offset complex pix = #pixel if @function == "Julia Frame-Robert" || @function == "Julia Ikenaga" || \ @function == "Julia Lambda" || @function == "Julia" pix = @seed endif if @variant == "SJ" z1 = real(z1) + flip(imag(z1)*@r) c = @t + @r*real(pix) + flip(imag(pix)) else z1 = @r*real(z1) + flip(imag(z1)) c = @t + real(pix) + flip(imag(pix)*@r) endif endif z1 = @fn1(z1) ; Iterate the Rotate/Translate formula while rt_iter < @max_iterations if !@oldver if @function == "Mandelbrot" || @function == "Julia" z1 = z1*z1 + c elseif @function == "Lambda" || @function == "Julia Lambda" z1 = c*z1*(1-z1) elseif @function == "Ikenaga" || @function == "Julia Ikenaga" z1 = z1*z1*z1 + (c-1)*z1-c elseif @function == "Frame-Robert" || @function == "Julia Frame-Robert" z1 = z1*z1*z1/5 + z1*z1 + c endif else z1 = z1*z1 + c endif rt_iter = rt_iter + 1 endwhile if !@oldver f_p = @fn2(z1+start) else f_p = @fn2(z1+@start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor + t endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor + t endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor + t endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "4D Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "Expert mode" default = false visible = !@oldver endparam heading caption = "4D parameters" endheading param t caption = "Translation" default = -0.75 endparam param r caption = "Tilt" default = 0.5 min = 0 max = 1 hint = "This parameter takes values between 0 and 1 inclusive." endparam param variant caption = "4D variant" default = 0 enum = "SJ" "3RDIM" hint = "These variants are based upon Gordon Lamb's 4D formulas." endparam param max_iterations caption = "4D iterations" hint = "This is the number of iterations for the 4D formula." default = 1 endparam float param scale caption = "Scale" default = 1.0 visible = !@oldver endparam param function caption = "4D Fractal" default = 3 enum = "Frame-Robert" "Ikenaga" "Lambda" "Mandelbrot" "Julia Frame-Robert" \ "Julia Ikenaga" "Julia Lambda" "Julia" visible = !@oldver endparam complex param seed caption = "Julia seed" default = (0,0) visible = @function == "Julia Frame-Robert" || @function == "Julia Ikenaga" \ || @function == "Julia Lambda" || @function == "Julia" endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" default = 0 enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" default = 0 enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = @expert && !@oldver endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (@expert && !@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = (@expert && !@alliter)|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = (@expert && !@alliter)&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = (@expert && !@alliter)&& !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param start caption = "Starting offset" default = (0.0,0.0) endparam param offset caption = "Trap offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture parameters" visible = @expert || @oldver endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @expert || @oldver endparam param tweight caption = "Texture weight" default = 0.0 visible = @expert|| @oldver endparam param ts caption = "Texture scale" default = 20.0 visible = @expert || @oldver endparam param tc caption = "Texture modifier" default = 5.0 visible = @expert || @oldver endparam param pwr caption = "Texture power" default = 1.0 visible = @expert || @oldver endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @expert || @oldver endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @expert || @oldver endfunc } Chip_trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 float randomness = @randomness if !@oldver randomness = 0 endif trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int chip_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) ; if @no_of_iters == 0 ; max_iter = #maxiter - @skip ; else ; max_iter = @skip + @no_of_iters ; endif if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Chip formula chip_iter = 0 while chip_iter < @max_iterations xx = x if x != 0 x = y - x/abs(x)*cos(sqr(log(abs(@b*x-@c)))) \ *atan(sqr(log(abs(@c*x-@b)))) else x = y - cos(sqr(log(abs(@b*x-@c)))) \ *atan(sqr(log(abs(@c*x-@b)))) endif y = @a - xx chip_iter = chip_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = 3*abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = 2*abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = 5*abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = 8*abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= @skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = (distance + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = (0.01 * trap_iter + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = (cabs(trap_z) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = (abs(real(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = (abs(imag(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = (cabs(trap_p) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = (abs(real(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = (abs(imag(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = (0.1*exptrap_p*cabs(trap_p) + randomness*real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = (0.01 * exptrap_p + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = (distance + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = (0.01 * trap_iter + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = (cabs(trap_z) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = (abs(real(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = (abs(imag(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = (cabs(trap_p) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = (abs(real(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = (abs(imag(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = (0.1*exptrap_p*cabs(trap_p) + randomness*real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = (0.01 * exptrap_p + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = (distance + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = (0.01 * trap_iter + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = (cabs(trap_z) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = (abs(real(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = (abs(imag(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = (cabs(trap_p) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = (abs(real(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = (abs(imag(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = (0.1*exptrap_p*cabs(trap_p) + randomness*real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = (0.01 * exptrap_p + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = (distance + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = (0.01 * trap_iter + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = (cabs(trap_z) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = (abs(real(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = (abs(imag(trap_z)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = (cabs(trap_p) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = (abs(real(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = (abs(imag(trap_p)) + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = (angle + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = (0.1*exptrap_p*cabs(trap_p) + randomness*real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = (0.01 * exptrap_p + randomness * real(#random))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Chip Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Chip Parameters" endheading param a caption = "Alpha" default = -15.0 endparam param b caption = "Beta" default = -3.0 endparam param c caption = "Gamma" default = 1.0 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "Chip iterations" hint = "This is the number of iterations for the Chip formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 1.0 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam param randomness caption = "Randomness" hint = "This adds a random texture the the coloring." default = 0.0 visible = @oldver endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } CosMartin-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int cos_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = @a float distave = 0 float distsum = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 float exptrap_p = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the CosMartin formula cos_iter = 0 while cos_iter < @max_iterations xx = x x = y - cos(x) y = @a - xx cos_iter = cos_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "CosMartin Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "CosMartin Parameters" endheading param a caption = "CosMartin parameter" default = 6.28318 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "CosMartin iterations" hint = "This is the number of iterations for the CosMartin formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Henon-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int hen_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b) float distave = 0 float distsum = 0 float t = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Henon formula hen_iter = 0 while hen_iter < @max_iterations xx = x x = 1 + y - @a*x*x y = @b*xx hen_iter = hen_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Henon Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Henon Parameters" endheading param a caption = "Henon parameter 1" default = 1.4 endparam param b caption = "Henon parameter 2" default = 0.3 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "Henon iterations" hint = "This is the number of iterations for the Henon formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Hopalong-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int hop_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Hopalong formula hop_iter = 0 while hop_iter < @max_iterations xx = x x = y - x/abs(x)*sqrt(abs(@b*x-@c)) y = @a - xx hop_iter = hop_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Hopalong Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Hopalong Parameters" endheading param a caption = "Hopalong parameter 1" default = .4 endparam param b caption = "Hopalong parameter 2" default = 1.0 endparam param c caption = "Hopalong parameter 3" default = 0.0 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "Hopalong iterations" hint = "This is the number of iterations for the Hopalong formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Ikenaga-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 complex p = 0 trap_z = 0 trap_p = 0 int iter = 0 float dist = 0 float distance = 0 int ike_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = (@fn1(z1 + offset)*(1-@weight) + p_2*@weight)*@scale elseif @oldver p = (@fn1(#z + @offset)*(1-@weight) + p_2*@weight)*@scale endif c = #pixel ; Iterate the Ikenaga formula ike_iter = 0 while ike_iter < @max_iterations p = p*p*p +(c-1)*p - c ike_iter = ike_iter + 1 endwhile if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Ikenaga Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam heading caption = "Ikenaga Parameters" endheading float param scale caption = "Scale" default = 1.0 endparam param max_iterations caption = "Ikenaga iterations" hint = "This is the number of iterations for the Ikenaga formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 1.0 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Liar-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 complex p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int liar_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Liar formula liar_iter = 0 while liar_iter < @max_iterations xx = x if real(x + flip(p)) < (@a) x = @b - abs(y-x) y = abs(@c - xx - y) endif liar_iter = liar_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Liar Orbit Trap Enhanced" param version caption = "Formula Version" default = 120 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Liar Parameters" endheading param a caption = "Liar parameter 1" default = 1.0 endparam param b caption = "Liar parameter 2" default = 1.0 endparam param c caption = "Liar parameter 3" default = 1.0 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "Liar iterations" hint = "This is the number of iterations for the Liar formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 1.0 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } PickMod-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 complex p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int pick_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float zz = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the PickMod formula pick_iter = 0 while pick_iter < @max_iterations xx = x x = sin(@a*y) - zz*cos(@b*x) y = zz*sin(@c*xx) - cos(-@a*y) zz = sin(xx) pick_iter = pick_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Modified Pickover Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Modified Pickover Parameters" endheading param a caption = "PickMod parameter 1" default = 2.34 endparam param b caption = "PickMod parameter 2" default = 0.43 endparam param c caption = "PickMod parameter 3" default = -0.65 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "PickMod iterations" hint = "This is the number of iterations for the PickMod formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 100.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Quadruptwo-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 complex p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int quad_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Quadruptwo formula quad_iter = 0 while quad_iter < @max_iterations xx = x x = y - x/abs(x)*sin(log(abs(@b*x-@c))) \ *atan(sqr(log(abs(@c*x-@b)))) y = @a - xx quad_iter = quad_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Quadruptwo Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Quadruptwo Parameters" endheading param a caption = "Quadruptwo parameter 1" default = 34.0 endparam param b caption = "Quadruptwo parameter 2" default = 1.0 endparam param c caption = "Quadruptwo parameter 3" default = 5.0 endparam float param scaleadj caption = "Scale" default = 1 endparam param max_iterations caption = "Quadruptwo iterations" hint = "This is the number of iterations for the Quadruptwo formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } Threeply-trap_Enhanced { ; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; added additional trap options init: complex i = (0,1) complex rot = i^(@ang/90) complex skew = i^(@skew/90) complex incrot = i^(@incrot/90) complex incskew = i^(@incskew/90) complex offset = 0 complex start = 0 complex z1 = 0 complex f_p = 0 complex p = 0 trap_z = 0 trap_p = 0 float x = 0 float y = 0 float xx = 0 int iter = 0 float dist = 0 float distance = 0 int thre_iter = 0 int max_iter = 0 int trap_iter = 0 bool trapped = false float min_dist = 1e30 float scale = sqrt(@a*@a + @b*@b + @c*@c) float distave = 0 float distsum = 0 float exptrap_p = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float t = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @oldver trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif int skip = 0 int patnum = 0 if @oldver skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p_2 = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p_2)) % 256 float by0 = floor(imag(p_2)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p_2) - floor(real(p_2)) float ry0 = imag(p_2) - floor(imag(p_2)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p_2 = p_2 * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p_2 = xx + flip(yy) if @oldscale == 0 scale = 1/scale endif scale = scale*@scaleadj loop: if !@oldver offset = @offset start = @start if @move offset = offset + #pixel*@moveamt endif rot = rot*incrot skew = skew*incskew offset = offset + @incoffset start = start + @incstart z1 = #z*rot z1 = real(z1)*skew + flip(imag(z1)) p = @fn1(z1 + offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale elseif @oldver p = @fn1(#z + @offset)*(1-@weight) + p_2*@weight x = real(p) * scale y = imag(p) * scale endif ; Iterate the Threeply formula thre_iter = 0 while thre_iter < @max_iterations xx = x x = y - x/abs(x)*(abs(sin(x)*cos(@b) + @c \ - x*sin(@a + @b + @c))) y = @a - xx thre_iter = thre_iter + 1 endwhile p = x + flip(y) if @oldver f_p = @fn2(p + @start) elseif !@oldver f_p = @fn2(p + start) endif dist = abs(|#z| - |f_p|) IF @trapvar == 1 dist = abs(dist*dist - dist) ELSEIF @trapvar == 2 dist = abs(dist*dist*dist - dist) ELSEIF @trapvar == 3 dist = abs(dist*dist*dist -dist*dist +dist) ELSEIF @trapvar == 4 dist = abs(dist - |f_p|) ELSEIF @trapvar == 5 dist = abs(dist - cabs(f_p)) ENDIF distsum = dist + distsum distave = distsum/iter if @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) endif if @trap_mode == 0 if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 1 if (iter >= skip && iter < max_iter) \ && !trapped && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 2 if (iter >= skip && iter < max_iter) \ && dist < @width trapped = true distance = dist trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 3 dist = cabs(f_p) if (iter >= skip && iter < max_iter) \ && dist < min_dist min_dist = dist distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p endif elseif @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif iter = iter + 1 if !@oldver if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: w = fn4(fn3(trap_z*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset t = cabs(ww)*@tc t = (t - trunc(t))*@tweight IF (@trap_mode == 1 || @trap_mode == 2) IF !trapped #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t ENDIF ENDIF default: title = "Threeply Orbit Trap Enhanced" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "use original version" default = false endparam bool param expert caption = "expert mode" default = false visible = !@oldver endparam param oldscale caption = "Scale Type" enum = "Old Scale" "New Scale" default = 1 endparam heading caption = "Threeply Parameters" endheading param a caption = "Threeply parameter 1" default = -55.0 endparam param b caption = "Threeply parameter 2" default = -1.0 endparam param c caption = "Threeply parameter 3" default = 0.8 endparam float param scaleadj caption = "Scale" default = 1.0 endparam param max_iterations caption = "Threeply iterations" hint = "This is the number of iterations for the Threeply formula." default = 1 endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" endparam param width caption = "Trap width" default = 1.0 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3|| @trap_mode == 4) && !@oldver endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @oldver endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @oldver endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @oldver endparam bool param alliter caption = "Use all iterations" default = true visible = !@oldver && @expert endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter)|| @oldver endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter|| @oldver endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter&& !@oldver endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && !@oldver endparam heading caption = "Trap Parameters" endheading func fn1 caption = "Pre Function" default = atan() endfunc func fn2 caption = "Post Function" default = sinh() endfunc param offset caption = "Trap offset" default = (0.0,0.0) endparam param start caption = "Starting offset" default = (0.0,0.0) endparam bool param @move caption = "Move trap offset" default = false visible = !@oldver endparam complex param moveamt caption = "Move amount" default = (1,0) visible = @move && !@oldver endparam float param ang caption = "Trap rotation" default = 0.0 visible = !@oldver endparam float param skew caption = "Trap skew" default = 0.0 visible = !@oldver endparam heading caption = "Progressive parameters" visible = !@oldver && @expert endheading complex param incstart caption = "Inc start offset" default = (0,0) visible = !@oldver && @expert endparam complex param incoffset caption = "Inc trap offset" default = (0,0) visible = !@oldver && @expert endparam float param incrot caption = "Inc trap rotation" default = 0.0 visible = !@oldver && @expert endparam float param incskew caption = "Inc skew" default = 0.0 visible = !@oldver && @expert endparam heading caption = "fBm Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @oldver || (!@oldver && @expert) endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @oldver || (!@oldver && @expert) endparam param fbm caption = "fBm Transfer Weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @oldver || (!@oldver && @expert) endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @oldver || (!@oldver && @expert) endparam param fbmf caption = "fBm Final Weight" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam heading caption = "General Texture Parameters" visible = @oldver || (!@oldver && @expert) endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @oldver || (!@oldver && @expert) endparam param tweight caption = "Texture weight" default = 0.0 visible = @oldver || (!@oldver && @expert) endparam param ts caption = "Texture scale" default = 20.0 visible = @oldver || (!@oldver && @expert) endparam param tc caption = "Texture modifier" default = 5.0 visible = @oldver || (!@oldver && @expert) endparam param pwr caption = "Texture power" default = 1.0 visible = @oldver || (!@oldver && @expert) endparam func fn3 caption = "Texture Function 1" default = sqr() visible = @oldver || (!@oldver && @expert) endfunc func fn4 caption = "Texture Function 2" default = acos() visible = @oldver || (!@oldver && @expert) endfunc } TextureRaytrace { ; June 7, 2004 ; based upon the Raytrace method of Stig Pettersson ; fBM and texture options added ; Multiple gradient methods removed. ; Changed some defaults February 19, 2005 init: complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) loop: float angle=0 complex ww = 0 complex w = 0 float tII = 0 final: complex z2 = #z*(1-@weight) + p*@weight w = fn4(fn3((fn2(@pweight*p+#pixel+@rweight*real(#z)))*10^@pwr))*@ts ww = fn4(fn3((w - round(w)))) + @toffset tII = cabs(ww)*@tc tII = (tII - trunc(tII))*@tweight angle=(real(z2)+1)/2 if imag(#z)==1.23456789e20||imag(#z)==-1.23456789e20||imag(#z)==-2.23456789e20 #index=angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII else #index=0.05*#numiter endif default: title = "Texture Raytrace" heading caption = "Texture Raytrace" endheading $ifdef VER40 heading text = "This coloring formula is a simplification of the Raytrace \ formula by Stig Petersson. It also contains additional texture options. \ The formula is intended for use with the 'Only Brots' ufm in reb.ufm and \ related formulas of Stig Petersson." endheading $else heading caption = "This coloring formula is a" endheading heading caption = "simplification of the Raytrace" endheading heading caption = "formula by Stig Petersson." endheading heading caption = "It also contains additional" endheading heading caption = "Texture options. The formula is" endheading heading caption = "intended for use with Only Brots" endheading heading caption = "and related formulas of Stig Petersson. " endheading $endif param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default =0.0 endparam param rweight caption = "Texture Ray Weight" default = 0.0 endparam param pweight caption = "Texture fBm Weight" default = 0.0 endparam param toffset caption = "Texture offset" default = (1,1) hint = "Changes the texture pattern." endparam param tweight caption = "Texture weight" default = 0.0 endparam param ts caption = "Texture scale" default = 5.0 endparam param tc caption = "Texture modifier" default = 5.0 endparam param pwr caption = "Texture power" default = 1.0 endparam func fn2 caption = "Texture Adjustment" default = exp() endfunc func fn3 caption = "Texture Function 1" default = ident() endfunc func fn4 caption = "Texture Function 2" default = acos() endfunc } exp_rock2_texture { ; Ron Barnett, October 2003 global: float X[101,101] X[1,1]=0.451,X[2,1]=0.475,X[3,1]=0.576,X[4,1]=0.608,X[5,1]=0.710,X[6,1]=0.647,X[7,1]=0.612,X[8,1]=0.576,X[9,1]=0.627,X[10,1]=0.608,X[11,1]=0.690,X[12,1]=0.675,X[13,1]=0.388,X[14,1]=0.376,X[15,1]=0.337,X[16,1]=0.365,X[17,1]=0.341,X[18,1]=0.443,X[19,1]=0.475,X[20,1]=0.267,X[21,1]=0.255,X[22,1]=0.525,X[23,1]=0.408,X[24,1]=0.400,X[25,1]=0.227,X[26,1]=0.467,X[27,1]=0.424,X[28,1]=0.451,X[29,1]=0.486,X[30,1]=0.710,X[31,1]=0.427,X[32,1]=0.392,X[33,1]=0.404,X[34,1]=0.455,X[35,1]=0.612,X[36,1]=0.510,X[37,1]=0.333,X[38,1]=0.345,X[39,1]=0.537,X[40,1]=0.624,X[41,1]=0.478,X[42,1]=0.627,X[43,1]=0.565,X[44,1]=0.486,X[45,1]=0.396,X[46,1]=0.541,X[47,1]=0.357,X[48,1]=0.357,X[49,1]=0.443,X[50,1]=0.498 X[51,1]=0.541,X[52,1]=0.510,X[53,1]=0.549,X[54,1]=0.569,X[55,1]=0.729,X[56,1]=0.596,X[57,1]=0.659,X[58,1]=0.647,X[59,1]=0.682,X[60,1]=0.659,X[61,1]=0.702,X[62,1]=0.733,X[63,1]=0.427,X[64,1]=0.361,X[65,1]=0.337,X[66,1]=0.345,X[67,1]=0.427,X[68,1]=0.424,X[69,1]=0.494,X[70,1]=0.282,X[71,1]=0.341,X[72,1]=0.494,X[73,1]=0.412,X[74,1]=0.451,X[75,1]=0.463,X[76,1]=0.275,X[77,1]=0.439,X[78,1]=0.447,X[79,1]=0.486,X[80,1]=0.553,X[81,1]=0.384,X[82,1]=0.404,X[83,1]=0.384,X[84,1]=0.427,X[85,1]=0.494,X[86,1]=0.486,X[87,1]=0.365,X[88,1]=0.341,X[89,1]=0.396,X[90,1]=0.443,X[91,1]=0.451,X[92,1]=0.627,X[93,1]=0.541,X[94,1]=0.455,X[95,1]=0.420,X[96,1]=0.478,X[97,1]=0.463,X[98,1]=0.424,X[99,1]=0.416,X[100,1]=0.463 X[1,2]=0.459,X[2,2]=0.278,X[3,2]=0.400,X[4,2]=0.478,X[5,2]=0.561,X[6,2]=0.459,X[7,2]=0.600,X[8,2]=0.498,X[9,2]=0.529,X[10,2]=0.624,X[11,2]=0.349,X[12,2]=0.431,X[13,2]=0.486,X[14,2]=0.537,X[15,2]=0.427,X[16,2]=0.357,X[17,2]=0.506,X[18,2]=0.463,X[19,2]=0.337,X[20,2]=0.259,X[21,2]=0.349,X[22,2]=0.592,X[23,2]=0.329,X[24,2]=0.404,X[25,2]=0.392,X[26,2]=0.443,X[27,2]=0.392,X[28,2]=0.227,X[29,2]=0.482,X[30,2]=0.482,X[31,2]=0.475,X[32,2]=0.314,X[33,2]=0.380,X[34,2]=0.400,X[35,2]=0.420,X[36,2]=0.345,X[37,2]=0.471,X[38,2]=0.431,X[39,2]=0.463,X[40,2]=0.529,X[41,2]=0.424,X[42,2]=0.557,X[43,2]=0.518,X[44,2]=0.686,X[45,2]=0.690,X[46,2]=0.631,X[47,2]=0.314,X[48,2]=0.533,X[49,2]=0.557,X[50,2]=0.690 X[51,2]=0.384,X[52,2]=0.294,X[53,2]=0.400,X[54,2]=0.482,X[55,2]=0.545,X[56,2]=0.576,X[57,2]=0.553,X[58,2]=0.580,X[59,2]=0.541,X[60,2]=0.647,X[61,2]=0.329,X[62,2]=0.408,X[63,2]=0.435,X[64,2]=0.498,X[65,2]=0.443,X[66,2]=0.357,X[67,2]=0.388,X[68,2]=0.443,X[69,2]=0.337,X[70,2]=0.251,X[71,2]=0.337,X[72,2]=0.392,X[73,2]=0.345,X[74,2]=0.431,X[75,2]=0.467,X[76,2]=0.475,X[77,2]=0.404,X[78,2]=0.286,X[79,2]=0.392,X[80,2]=0.482,X[81,2]=0.416,X[82,2]=0.306,X[83,2]=0.388,X[84,2]=0.318,X[85,2]=0.475,X[86,2]=0.333,X[87,2]=0.435,X[88,2]=0.341,X[89,2]=0.400,X[90,2]=0.435,X[91,2]=0.404,X[92,2]=0.557,X[93,2]=0.373,X[94,2]=0.682,X[95,2]=0.647,X[96,2]=0.569,X[97,2]=0.302,X[98,2]=0.486,X[99,2]=0.529,X[100,2]=0.651 X[1,3]=0.475,X[2,3]=0.592,X[3,3]=0.698,X[4,3]=0.396,X[5,3]=0.278,X[6,3]=0.294,X[7,3]=0.286,X[8,3]=0.341,X[9,3]=0.396,X[10,3]=0.431,X[11,3]=0.498,X[12,3]=0.482,X[13,3]=0.420,X[14,3]=0.318,X[15,3]=0.518,X[16,3]=0.455,X[17,3]=0.451,X[18,3]=0.435,X[19,3]=0.384,X[20,3]=0.314,X[21,3]=0.302,X[22,3]=0.365,X[23,3]=0.310,X[24,3]=0.349,X[25,3]=0.302,X[26,3]=0.459,X[27,3]=0.282,X[28,3]=0.208,X[29,3]=0.243,X[30,3]=0.263,X[31,3]=0.310,X[32,3]=0.369,X[33,3]=0.294,X[34,3]=0.251,X[35,3]=0.220,X[36,3]=0.212,X[37,3]=0.263,X[38,3]=0.290,X[39,3]=0.490,X[40,3]=0.478,X[41,3]=0.443,X[42,3]=0.388,X[43,3]=0.412,X[44,3]=0.345,X[45,3]=0.439,X[46,3]=0.510,X[47,3]=0.314,X[48,3]=0.655,X[49,3]=0.635,X[50,3]=0.620 X[51,3]=0.416,X[52,3]=0.682,X[53,3]=0.698,X[54,3]=0.424,X[55,3]=0.278,X[56,3]=0.298,X[57,3]=0.424,X[58,3]=0.314,X[59,3]=0.353,X[60,3]=0.443,X[61,3]=0.506,X[62,3]=0.498,X[63,3]=0.463,X[64,3]=0.310,X[65,3]=0.533,X[66,3]=0.439,X[67,3]=0.459,X[68,3]=0.463,X[69,3]=0.431,X[70,3]=0.290,X[71,3]=0.322,X[72,3]=0.431,X[73,3]=0.365,X[74,3]=0.361,X[75,3]=0.302,X[76,3]=0.561,X[77,3]=0.278,X[78,3]=0.192,X[79,3]=0.255,X[80,3]=0.259,X[81,3]=0.306,X[82,3]=0.376,X[83,3]=0.298,X[84,3]=0.271,X[85,3]=0.251,X[86,3]=0.204,X[87,3]=0.278,X[88,3]=0.286,X[89,3]=0.443,X[90,3]=0.435,X[91,3]=0.463,X[92,3]=0.400,X[93,3]=0.467,X[94,3]=0.318,X[95,3]=0.459,X[96,3]=0.608,X[97,3]=0.357,X[98,3]=0.514,X[99,3]=0.620,X[100,3]=0.592 X[1,4]=0.459,X[2,4]=0.553,X[3,4]=0.463,X[4,4]=0.396,X[5,4]=0.533,X[6,4]=0.639,X[7,4]=0.541,X[8,4]=0.694,X[9,4]=0.729,X[10,4]=0.694,X[11,4]=0.600,X[12,4]=0.561,X[13,4]=0.408,X[14,4]=0.361,X[15,4]=0.259,X[16,4]=0.208,X[17,4]=0.247,X[18,4]=0.294,X[19,4]=0.494,X[20,4]=0.310,X[21,4]=0.369,X[22,4]=0.310,X[23,4]=0.349,X[24,4]=0.310,X[25,4]=0.227,X[26,4]=0.404,X[27,4]=0.357,X[28,4]=0.282,X[29,4]=0.447,X[30,4]=0.502,X[31,4]=0.580,X[32,4]=0.533,X[33,4]=0.580,X[34,4]=0.729,X[35,4]=0.576,X[36,4]=0.616,X[37,4]=0.678,X[38,4]=0.537,X[39,4]=0.337,X[40,4]=0.243,X[41,4]=0.267,X[42,4]=0.333,X[43,4]=0.282,X[44,4]=0.325,X[45,4]=0.576,X[46,4]=0.361,X[47,4]=0.310,X[48,4]=0.467,X[49,4]=0.569,X[50,4]=0.482 X[51,4]=0.467,X[52,4]=0.486,X[53,4]=0.471,X[54,4]=0.435,X[55,4]=0.537,X[56,4]=0.710,X[57,4]=0.686,X[58,4]=0.612,X[59,4]=0.761,X[60,4]=0.690,X[61,4]=0.631,X[62,4]=0.710,X[63,4]=0.424,X[64,4]=0.341,X[65,4]=0.247,X[66,4]=0.298,X[67,4]=0.263,X[68,4]=0.275,X[69,4]=0.416,X[70,4]=0.369,X[71,4]=0.416,X[72,4]=0.365,X[73,4]=0.357,X[74,4]=0.278,X[75,4]=0.259,X[76,4]=0.302,X[77,4]=0.349,X[78,4]=0.290,X[79,4]=0.369,X[80,4]=0.490,X[81,4]=0.588,X[82,4]=0.549,X[83,4]=0.608,X[84,4]=0.667,X[85,4]=0.667,X[86,4]=0.643,X[87,4]=0.678,X[88,4]=0.616,X[89,4]=0.443,X[90,4]=0.247,X[91,4]=0.271,X[92,4]=0.325,X[93,4]=0.263,X[94,4]=0.325,X[95,4]=0.584,X[96,4]=0.510,X[97,4]=0.349,X[98,4]=0.337,X[99,4]=0.506,X[100,4]=0.494 X[1,5]=0.678,X[2,5]=0.663,X[3,5]=0.698,X[4,5]=0.533,X[5,5]=0.561,X[6,5]=0.486,X[7,5]=0.624,X[8,5]=0.518,X[9,5]=0.706,X[10,5]=0.651,X[11,5]=0.678,X[12,5]=0.561,X[13,5]=0.380,X[14,5]=0.333,X[15,5]=0.424,X[16,5]=0.490,X[17,5]=0.557,X[18,5]=0.431,X[19,5]=0.373,X[20,5]=0.373,X[21,5]=0.463,X[22,5]=0.498,X[23,5]=0.357,X[24,5]=0.349,X[25,5]=0.318,X[26,5]=0.427,X[27,5]=0.596,X[28,5]=0.569,X[29,5]=0.533,X[30,5]=0.643,X[31,5]=0.545,X[32,5]=0.439,X[33,5]=0.482,X[34,5]=0.576,X[35,5]=0.522,X[36,5]=0.584,X[37,5]=0.443,X[38,5]=0.576,X[39,5]=0.651,X[40,5]=0.502,X[41,5]=0.655,X[42,5]=0.671,X[43,5]=0.427,X[44,5]=0.404,X[45,5]=0.337,X[46,5]=0.455,X[47,5]=0.322,X[48,5]=0.612,X[49,5]=0.624,X[50,5]=0.722 X[51,5]=0.651,X[52,5]=0.659,X[53,5]=0.678,X[54,5]=0.459,X[55,5]=0.576,X[56,5]=0.518,X[57,5]=0.608,X[58,5]=0.522,X[59,5]=0.588,X[60,5]=0.647,X[61,5]=0.690,X[62,5]=0.741,X[63,5]=0.435,X[64,5]=0.325,X[65,5]=0.459,X[66,5]=0.604,X[67,5]=0.443,X[68,5]=0.427,X[69,5]=0.373,X[70,5]=0.392,X[71,5]=0.541,X[72,5]=0.400,X[73,5]=0.392,X[74,5]=0.310,X[75,5]=0.294,X[76,5]=0.314,X[77,5]=0.596,X[78,5]=0.557,X[79,5]=0.463,X[80,5]=0.592,X[81,5]=0.525,X[82,5]=0.439,X[83,5]=0.471,X[84,5]=0.545,X[85,5]=0.482,X[86,5]=0.620,X[87,5]=0.478,X[88,5]=0.478,X[89,5]=0.490,X[90,5]=0.424,X[91,5]=0.671,X[92,5]=0.643,X[93,5]=0.486,X[94,5]=0.388,X[95,5]=0.345,X[96,5]=0.400,X[97,5]=0.361,X[98,5]=0.455,X[99,5]=0.529,X[100,5]=0.733 X[1,6]=0.459,X[2,6]=0.682,X[3,6]=0.569,X[4,6]=0.569,X[5,6]=0.525,X[6,6]=0.553,X[7,6]=0.439,X[8,6]=0.600,X[9,6]=0.478,X[10,6]=0.420,X[11,6]=0.576,X[12,6]=0.549,X[13,6]=0.404,X[14,6]=0.388,X[15,6]=0.400,X[16,6]=0.369,X[17,6]=0.463,X[18,6]=0.537,X[19,6]=0.463,X[20,6]=0.318,X[21,6]=0.537,X[22,6]=0.455,X[23,6]=0.357,X[24,6]=0.435,X[25,6]=0.498,X[26,6]=0.753,X[27,6]=0.706,X[28,6]=0.408,X[29,6]=0.443,X[30,6]=0.392,X[31,6]=0.522,X[32,6]=0.357,X[33,6]=0.514,X[34,6]=0.549,X[35,6]=0.553,X[36,6]=0.435,X[37,6]=0.522,X[38,6]=0.525,X[39,6]=0.459,X[40,6]=0.298,X[41,6]=0.416,X[42,6]=0.671,X[43,6]=0.710,X[44,6]=0.733,X[45,6]=0.659,X[46,6]=0.482,X[47,6]=0.369,X[48,6]=0.565,X[49,6]=0.698,X[50,6]=0.569 X[51,6]=0.549,X[52,6]=0.490,X[53,6]=0.553,X[54,6]=0.533,X[55,6]=0.541,X[56,6]=0.502,X[57,6]=0.510,X[58,6]=0.443,X[59,6]=0.616,X[60,6]=0.427,X[61,6]=0.584,X[62,6]=0.722,X[63,6]=0.439,X[64,6]=0.345,X[65,6]=0.416,X[66,6]=0.471,X[67,6]=0.337,X[68,6]=0.502,X[69,6]=0.490,X[70,6]=0.325,X[71,6]=0.604,X[72,6]=0.478,X[73,6]=0.384,X[74,6]=0.408,X[75,6]=0.325,X[76,6]=0.706,X[77,6]=0.702,X[78,6]=0.392,X[79,6]=0.369,X[80,6]=0.416,X[81,6]=0.514,X[82,6]=0.349,X[83,6]=0.569,X[84,6]=0.608,X[85,6]=0.608,X[86,6]=0.439,X[87,6]=0.459,X[88,6]=0.588,X[89,6]=0.376,X[90,6]=0.486,X[91,6]=0.451,X[92,6]=0.655,X[93,6]=0.671,X[94,6]=0.733,X[95,6]=0.616,X[96,6]=0.529,X[97,6]=0.369,X[98,6]=0.459,X[99,6]=0.659,X[100,6]=0.561 X[1,7]=0.573,X[2,7]=0.353,X[3,7]=0.353,X[4,7]=0.388,X[5,7]=0.714,X[6,7]=0.671,X[7,7]=0.627,X[8,7]=0.427,X[9,7]=0.416,X[10,7]=0.478,X[11,7]=0.494,X[12,7]=0.663,X[13,7]=0.420,X[14,7]=0.396,X[15,7]=0.400,X[16,7]=0.259,X[17,7]=0.302,X[18,7]=0.290,X[19,7]=0.349,X[20,7]=0.282,X[21,7]=0.251,X[22,7]=0.314,X[23,7]=0.310,X[24,7]=0.533,X[25,7]=0.404,X[26,7]=0.478,X[27,7]=0.561,X[28,7]=0.392,X[29,7]=0.416,X[30,7]=0.353,X[31,7]=0.451,X[32,7]=0.561,X[33,7]=0.643,X[34,7]=0.569,X[35,7]=0.502,X[36,7]=0.494,X[37,7]=0.416,X[38,7]=0.655,X[39,7]=0.569,X[40,7]=0.392,X[41,7]=0.349,X[42,7]=0.439,X[43,7]=0.471,X[44,7]=0.565,X[45,7]=0.718,X[46,7]=0.388,X[47,7]=0.612,X[48,7]=0.706,X[49,7]=0.537,X[50,7]=0.678 X[51,7]=0.514,X[52,7]=0.400,X[53,7]=0.357,X[54,7]=0.392,X[55,7]=0.576,X[56,7]=0.431,X[57,7]=0.494,X[58,7]=0.482,X[59,7]=0.498,X[60,7]=0.471,X[61,7]=0.502,X[62,7]=0.663,X[63,7]=0.408,X[64,7]=0.384,X[65,7]=0.416,X[66,7]=0.314,X[67,7]=0.275,X[68,7]=0.302,X[69,7]=0.384,X[70,7]=0.286,X[71,7]=0.243,X[72,7]=0.271,X[73,7]=0.306,X[74,7]=0.545,X[75,7]=0.408,X[76,7]=0.416,X[77,7]=0.537,X[78,7]=0.522,X[79,7]=0.439,X[80,7]=0.424,X[81,7]=0.431,X[82,7]=0.596,X[83,7]=0.620,X[84,7]=0.627,X[85,7]=0.518,X[86,7]=0.545,X[87,7]=0.443,X[88,7]=0.624,X[89,7]=0.569,X[90,7]=0.612,X[91,7]=0.384,X[92,7]=0.424,X[93,7]=0.416,X[94,7]=0.616,X[95,7]=0.725,X[96,7]=0.541,X[97,7]=0.424,X[98,7]=0.604,X[99,7]=0.533,X[100,7]=0.686 X[1,8]=0.698,X[2,8]=0.573,X[3,8]=0.588,X[4,8]=0.737,X[5,8]=0.647,X[6,8]=0.639,X[7,8]=0.686,X[8,8]=0.545,X[9,8]=0.612,X[10,8]=0.600,X[11,8]=0.612,X[12,8]=0.702,X[13,8]=0.573,X[14,8]=0.690,X[15,8]=0.565,X[16,8]=0.698,X[17,8]=0.341,X[18,8]=0.357,X[19,8]=0.412,X[20,8]=0.427,X[21,8]=0.537,X[22,8]=0.400,X[23,8]=0.357,X[24,8]=0.329,X[25,8]=0.643,X[26,8]=0.435,X[27,8]=0.369,X[28,8]=0.494,X[29,8]=0.475,X[30,8]=0.467,X[31,8]=0.392,X[32,8]=0.522,X[33,8]=0.592,X[34,8]=0.490,X[35,8]=0.592,X[36,8]=0.427,X[37,8]=0.404,X[38,8]=0.573,X[39,8]=0.424,X[40,8]=0.663,X[41,8]=0.345,X[42,8]=0.502,X[43,8]=0.514,X[44,8]=0.498,X[45,8]=0.647,X[46,8]=0.333,X[47,8]=0.518,X[48,8]=0.478,X[49,8]=0.616,X[50,8]=0.557 X[51,8]=0.596,X[52,8]=0.624,X[53,8]=0.604,X[54,8]=0.714,X[55,8]=0.659,X[56,8]=0.620,X[57,8]=0.631,X[58,8]=0.573,X[59,8]=0.627,X[60,8]=0.604,X[61,8]=0.604,X[62,8]=0.698,X[63,8]=0.435,X[64,8]=0.671,X[65,8]=0.573,X[66,8]=0.702,X[67,8]=0.376,X[68,8]=0.337,X[69,8]=0.424,X[70,8]=0.435,X[71,8]=0.490,X[72,8]=0.420,X[73,8]=0.345,X[74,8]=0.365,X[75,8]=0.553,X[76,8]=0.486,X[77,8]=0.400,X[78,8]=0.471,X[79,8]=0.435,X[80,8]=0.463,X[81,8]=0.396,X[82,8]=0.529,X[83,8]=0.569,X[84,8]=0.478,X[85,8]=0.525,X[86,8]=0.443,X[87,8]=0.435,X[88,8]=0.502,X[89,8]=0.584,X[90,8]=0.569,X[91,8]=0.306,X[92,8]=0.518,X[93,8]=0.565,X[94,8]=0.533,X[95,8]=0.561,X[96,8]=0.349,X[97,8]=0.322,X[98,8]=0.459,X[99,8]=0.506,X[100,8]=0.588 X[1,9]=0.580,X[2,9]=0.490,X[3,9]=0.659,X[4,9]=0.655,X[5,9]=0.596,X[6,9]=0.400,X[7,9]=0.341,X[8,9]=0.349,X[9,9]=0.373,X[10,9]=0.357,X[11,9]=0.373,X[12,9]=0.537,X[13,9]=0.459,X[14,9]=0.576,X[15,9]=0.369,X[16,9]=0.655,X[17,9]=0.373,X[18,9]=0.494,X[19,9]=0.647,X[20,9]=0.737,X[21,9]=0.773,X[22,9]=0.698,X[23,9]=0.533,X[24,9]=0.361,X[25,9]=0.494,X[26,9]=0.506,X[27,9]=0.467,X[28,9]=0.588,X[29,9]=0.475,X[30,9]=0.471,X[31,9]=0.384,X[32,9]=0.690,X[33,9]=0.592,X[34,9]=0.471,X[35,9]=0.541,X[36,9]=0.537,X[37,9]=0.380,X[38,9]=0.518,X[39,9]=0.471,X[40,9]=0.612,X[41,9]=0.537,X[42,9]=0.353,X[43,9]=0.427,X[44,9]=0.584,X[45,9]=0.416,X[46,9]=0.325,X[47,9]=0.478,X[48,9]=0.404,X[49,9]=0.620,X[50,9]=0.518 X[51,9]=0.631,X[52,9]=0.537,X[53,9]=0.667,X[54,9]=0.631,X[55,9]=0.596,X[56,9]=0.447,X[57,9]=0.490,X[58,9]=0.380,X[59,9]=0.380,X[60,9]=0.369,X[61,9]=0.400,X[62,9]=0.678,X[63,9]=0.420,X[64,9]=0.576,X[65,9]=0.373,X[66,9]=0.486,X[67,9]=0.490,X[68,9]=0.482,X[69,9]=0.659,X[70,9]=0.749,X[71,9]=0.784,X[72,9]=0.714,X[73,9]=0.514,X[74,9]=0.353,X[75,9]=0.408,X[76,9]=0.443,X[77,9]=0.459,X[78,9]=0.561,X[79,9]=0.455,X[80,9]=0.541,X[81,9]=0.412,X[82,9]=0.694,X[83,9]=0.592,X[84,9]=0.502,X[85,9]=0.471,X[86,9]=0.537,X[87,9]=0.376,X[88,9]=0.447,X[89,9]=0.522,X[90,9]=0.541,X[91,9]=0.482,X[92,9]=0.376,X[93,9]=0.471,X[94,9]=0.596,X[95,9]=0.388,X[96,9]=0.341,X[97,9]=0.427,X[98,9]=0.435,X[99,9]=0.592,X[100,9]=0.514 X[1,10]=0.337,X[2,10]=0.325,X[3,10]=0.361,X[4,10]=0.345,X[5,10]=0.318,X[6,10]=0.329,X[7,10]=0.337,X[8,10]=0.325,X[9,10]=0.361,X[10,10]=0.341,X[11,10]=0.357,X[12,10]=0.576,X[13,10]=0.725,X[14,10]=0.624,X[15,10]=0.651,X[16,10]=0.647,X[17,10]=0.686,X[18,10]=0.643,X[19,10]=0.502,X[20,10]=0.404,X[21,10]=0.486,X[22,10]=0.467,X[23,10]=0.392,X[24,10]=0.431,X[25,10]=0.620,X[26,10]=0.525,X[27,10]=0.592,X[28,10]=0.561,X[29,10]=0.427,X[30,10]=0.525,X[31,10]=0.443,X[32,10]=0.565,X[33,10]=0.463,X[34,10]=0.529,X[35,10]=0.443,X[36,10]=0.545,X[37,10]=0.576,X[38,10]=0.510,X[39,10]=0.537,X[40,10]=0.596,X[41,10]=0.698,X[42,10]=0.322,X[43,10]=0.600,X[44,10]=0.376,X[45,10]=0.537,X[46,10]=0.592,X[47,10]=0.376,X[48,10]=0.306,X[49,10]=0.314,X[50,10]=0.298 X[51,10]=0.310,X[52,10]=0.412,X[53,10]=0.373,X[54,10]=0.337,X[55,10]=0.318,X[56,10]=0.322,X[57,10]=0.475,X[58,10]=0.341,X[59,10]=0.325,X[60,10]=0.341,X[61,10]=0.380,X[62,10]=0.431,X[63,10]=0.702,X[64,10]=0.576,X[65,10]=0.698,X[66,10]=0.667,X[67,10]=0.624,X[68,10]=0.608,X[69,10]=0.486,X[70,10]=0.392,X[71,10]=0.427,X[72,10]=0.447,X[73,10]=0.400,X[74,10]=0.439,X[75,10]=0.518,X[76,10]=0.596,X[77,10]=0.576,X[78,10]=0.596,X[79,10]=0.502,X[80,10]=0.608,X[81,10]=0.455,X[82,10]=0.506,X[83,10]=0.475,X[84,10]=0.553,X[85,10]=0.435,X[86,10]=0.580,X[87,10]=0.561,X[88,10]=0.522,X[89,10]=0.506,X[90,10]=0.486,X[91,10]=0.718,X[92,10]=0.310,X[93,10]=0.333,X[94,10]=0.357,X[95,10]=0.553,X[96,10]=0.635,X[97,10]=0.514,X[98,10]=0.341,X[99,10]=0.310,X[100,10]=0.282 X[1,11]=0.667,X[2,11]=0.420,X[3,11]=0.353,X[4,11]=0.471,X[5,11]=0.549,X[6,11]=0.600,X[7,11]=0.592,X[8,11]=0.451,X[9,11]=0.435,X[10,11]=0.400,X[11,11]=0.447,X[12,11]=0.502,X[13,11]=0.678,X[14,11]=0.596,X[15,11]=0.635,X[16,11]=0.565,X[17,11]=0.600,X[18,11]=0.443,X[19,11]=0.525,X[20,11]=0.333,X[21,11]=0.525,X[22,11]=0.392,X[23,11]=0.400,X[24,11]=0.361,X[25,11]=0.388,X[26,11]=0.478,X[27,11]=0.659,X[28,11]=0.596,X[29,11]=0.435,X[30,11]=0.651,X[31,11]=0.408,X[32,11]=0.349,X[33,11]=0.408,X[34,11]=0.557,X[35,11]=0.569,X[36,11]=0.447,X[37,11]=0.471,X[38,11]=0.647,X[39,11]=0.612,X[40,11]=0.576,X[41,11]=0.529,X[42,11]=0.710,X[43,11]=0.286,X[44,11]=0.275,X[45,11]=0.431,X[46,11]=0.592,X[47,11]=0.690,X[48,11]=0.655,X[49,11]=0.537,X[50,11]=0.698 X[51,11]=0.627,X[52,11]=0.380,X[53,11]=0.369,X[54,11]=0.455,X[55,11]=0.494,X[56,11]=0.710,X[57,11]=0.518,X[58,11]=0.443,X[59,11]=0.467,X[60,11]=0.388,X[61,11]=0.478,X[62,11]=0.510,X[63,11]=0.667,X[64,11]=0.604,X[65,11]=0.624,X[66,11]=0.639,X[67,11]=0.686,X[68,11]=0.439,X[69,11]=0.486,X[70,11]=0.333,X[71,11]=0.455,X[72,11]=0.635,X[73,11]=0.408,X[74,11]=0.353,X[75,11]=0.416,X[76,11]=0.408,X[77,11]=0.608,X[78,11]=0.600,X[79,11]=0.486,X[80,11]=0.533,X[81,11]=0.400,X[82,11]=0.349,X[83,11]=0.439,X[84,11]=0.514,X[85,11]=0.498,X[86,11]=0.529,X[87,11]=0.522,X[88,11]=0.537,X[89,11]=0.659,X[90,11]=0.475,X[91,11]=0.439,X[92,11]=0.698,X[93,11]=0.388,X[94,11]=0.282,X[95,11]=0.467,X[96,11]=0.643,X[97,11]=0.675,X[98,11]=0.667,X[99,11]=0.549,X[100,11]=0.690 X[1,12]=0.600,X[2,12]=0.416,X[3,12]=0.365,X[4,12]=0.424,X[5,12]=0.573,X[6,12]=0.702,X[7,12]=0.729,X[8,12]=0.710,X[9,12]=0.459,X[10,12]=0.525,X[11,12]=0.400,X[12,12]=0.361,X[13,12]=0.369,X[14,12]=0.478,X[15,12]=0.584,X[16,12]=0.639,X[17,12]=0.522,X[18,12]=0.573,X[19,12]=0.510,X[20,12]=0.502,X[21,12]=0.576,X[22,12]=0.275,X[23,12]=0.298,X[24,12]=0.439,X[25,12]=0.416,X[26,12]=0.408,X[27,12]=0.361,X[28,12]=0.584,X[29,12]=0.373,X[30,12]=0.600,X[31,12]=0.667,X[32,12]=0.592,X[33,12]=0.490,X[34,12]=0.518,X[35,12]=0.643,X[36,12]=0.659,X[37,12]=0.553,X[38,12]=0.380,X[39,12]=0.380,X[40,12]=0.498,X[41,12]=0.353,X[42,12]=0.553,X[43,12]=0.318,X[44,12]=0.294,X[45,12]=0.369,X[46,12]=0.600,X[47,12]=0.725,X[48,12]=0.655,X[49,12]=0.627,X[50,12]=0.612 X[51,12]=0.655,X[52,12]=0.396,X[53,12]=0.365,X[54,12]=0.431,X[55,12]=0.580,X[56,12]=0.729,X[57,12]=0.792,X[58,12]=0.706,X[59,12]=0.569,X[60,12]=0.529,X[61,12]=0.408,X[62,12]=0.365,X[63,12]=0.349,X[64,12]=0.498,X[65,12]=0.584,X[66,12]=0.675,X[67,12]=0.533,X[68,12]=0.588,X[69,12]=0.502,X[70,12]=0.514,X[71,12]=0.541,X[72,12]=0.380,X[73,12]=0.306,X[74,12]=0.475,X[75,12]=0.498,X[76,12]=0.333,X[77,12]=0.373,X[78,12]=0.600,X[79,12]=0.522,X[80,12]=0.561,X[81,12]=0.631,X[82,12]=0.588,X[83,12]=0.471,X[84,12]=0.494,X[85,12]=0.584,X[86,12]=0.690,X[87,12]=0.569,X[88,12]=0.455,X[89,12]=0.427,X[90,12]=0.573,X[91,12]=0.341,X[92,12]=0.627,X[93,12]=0.541,X[94,12]=0.294,X[95,12]=0.392,X[96,12]=0.490,X[97,12]=0.655,X[98,12]=0.675,X[99,12]=0.588,X[100,12]=0.655 X[1,13]=0.635,X[2,13]=0.388,X[3,13]=0.373,X[4,13]=0.404,X[5,13]=0.486,X[6,13]=0.604,X[7,13]=0.576,X[8,13]=0.733,X[9,13]=0.404,X[10,13]=0.314,X[11,13]=0.306,X[12,13]=0.286,X[13,13]=0.329,X[14,13]=0.318,X[15,13]=0.412,X[16,13]=0.400,X[17,13]=0.455,X[18,13]=0.439,X[19,13]=0.439,X[20,13]=0.655,X[21,13]=0.408,X[22,13]=0.373,X[23,13]=0.384,X[24,13]=0.529,X[25,13]=0.373,X[26,13]=0.427,X[27,13]=0.376,X[28,13]=0.490,X[29,13]=0.537,X[30,13]=0.545,X[31,13]=0.447,X[32,13]=0.376,X[33,13]=0.502,X[34,13]=0.478,X[35,13]=0.588,X[36,13]=0.576,X[37,13]=0.467,X[38,13]=0.616,X[39,13]=0.533,X[40,13]=0.451,X[41,13]=0.427,X[42,13]=0.569,X[43,13]=0.373,X[44,13]=0.302,X[45,13]=0.522,X[46,13]=0.525,X[47,13]=0.455,X[48,13]=0.612,X[49,13]=0.588,X[50,13]=0.729 X[51,13]=0.478,X[52,13]=0.373,X[53,13]=0.365,X[54,13]=0.404,X[55,13]=0.510,X[56,13]=0.600,X[57,13]=0.576,X[58,13]=0.671,X[59,13]=0.600,X[60,13]=0.314,X[61,13]=0.298,X[62,13]=0.267,X[63,13]=0.275,X[64,13]=0.318,X[65,13]=0.373,X[66,13]=0.369,X[67,13]=0.376,X[68,13]=0.443,X[69,13]=0.412,X[70,13]=0.667,X[71,13]=0.639,X[72,13]=0.322,X[73,13]=0.396,X[74,13]=0.537,X[75,13]=0.471,X[76,13]=0.373,X[77,13]=0.400,X[78,13]=0.533,X[79,13]=0.553,X[80,13]=0.533,X[81,13]=0.420,X[82,13]=0.361,X[83,13]=0.482,X[84,13]=0.431,X[85,13]=0.592,X[86,13]=0.545,X[87,13]=0.467,X[88,13]=0.541,X[89,13]=0.471,X[90,13]=0.580,X[91,13]=0.408,X[92,13]=0.596,X[93,13]=0.624,X[94,13]=0.314,X[95,13]=0.482,X[96,13]=0.518,X[97,13]=0.443,X[98,13]=0.506,X[99,13]=0.573,X[100,13]=0.706 X[1,14]=0.482,X[2,14]=0.361,X[3,14]=0.384,X[4,14]=0.329,X[5,14]=0.376,X[6,14]=0.431,X[7,14]=0.627,X[8,14]=0.624,X[9,14]=0.337,X[10,14]=0.345,X[11,14]=0.239,X[12,14]=0.282,X[13,14]=0.298,X[14,14]=0.294,X[15,14]=0.282,X[16,14]=0.235,X[17,14]=0.243,X[18,14]=0.286,X[19,14]=0.361,X[20,14]=0.424,X[21,14]=0.337,X[22,14]=0.392,X[23,14]=0.424,X[24,14]=0.459,X[25,14]=0.333,X[26,14]=0.380,X[27,14]=0.475,X[28,14]=0.365,X[29,14]=0.373,X[30,14]=0.427,X[31,14]=0.443,X[32,14]=0.439,X[33,14]=0.420,X[34,14]=0.388,X[35,14]=0.404,X[36,14]=0.565,X[37,14]=0.510,X[38,14]=0.341,X[39,14]=0.361,X[40,14]=0.314,X[41,14]=0.349,X[42,14]=0.710,X[43,14]=0.333,X[44,14]=0.290,X[45,14]=0.424,X[46,14]=0.463,X[47,14]=0.420,X[48,14]=0.392,X[49,14]=0.494,X[50,14]=0.565 X[51,14]=0.416,X[52,14]=0.376,X[53,14]=0.396,X[54,14]=0.322,X[55,14]=0.408,X[56,14]=0.455,X[57,14]=0.424,X[58,14]=0.549,X[59,14]=0.549,X[60,14]=0.310,X[61,14]=0.235,X[62,14]=0.259,X[63,14]=0.298,X[64,14]=0.290,X[65,14]=0.282,X[66,14]=0.263,X[67,14]=0.224,X[68,14]=0.286,X[69,14]=0.384,X[70,14]=0.384,X[71,14]=0.373,X[72,14]=0.369,X[73,14]=0.420,X[74,14]=0.471,X[75,14]=0.498,X[76,14]=0.380,X[77,14]=0.478,X[78,14]=0.384,X[79,14]=0.471,X[80,14]=0.447,X[81,14]=0.427,X[82,14]=0.455,X[83,14]=0.431,X[84,14]=0.475,X[85,14]=0.388,X[86,14]=0.600,X[87,14]=0.502,X[88,14]=0.404,X[89,14]=0.314,X[90,14]=0.376,X[91,14]=0.341,X[92,14]=0.686,X[93,14]=0.565,X[94,14]=0.318,X[95,14]=0.463,X[96,14]=0.525,X[97,14]=0.486,X[98,14]=0.345,X[99,14]=0.502,X[100,14]=0.588 X[1,15]=0.392,X[2,15]=0.373,X[3,15]=0.416,X[4,15]=0.435,X[5,15]=0.459,X[6,15]=0.388,X[7,15]=0.431,X[8,15]=0.529,X[9,15]=0.545,X[10,15]=0.596,X[11,15]=0.353,X[12,15]=0.376,X[13,15]=0.635,X[14,15]=0.635,X[15,15]=0.529,X[16,15]=0.608,X[17,15]=0.580,X[18,15]=0.580,X[19,15]=0.565,X[20,15]=0.690,X[21,15]=0.490,X[22,15]=0.451,X[23,15]=0.416,X[24,15]=0.478,X[25,15]=0.400,X[26,15]=0.435,X[27,15]=0.471,X[28,15]=0.353,X[29,15]=0.427,X[30,15]=0.365,X[31,15]=0.380,X[32,15]=0.373,X[33,15]=0.361,X[34,15]=0.357,X[35,15]=0.337,X[36,15]=0.459,X[37,15]=0.443,X[38,15]=0.435,X[39,15]=0.412,X[40,15]=0.310,X[41,15]=0.310,X[42,15]=0.384,X[43,15]=0.380,X[44,15]=0.357,X[45,15]=0.369,X[46,15]=0.259,X[47,15]=0.216,X[48,15]=0.220,X[49,15]=0.251,X[50,15]=0.337 X[51,15]=0.369,X[52,15]=0.337,X[53,15]=0.412,X[54,15]=0.471,X[55,15]=0.490,X[56,15]=0.412,X[57,15]=0.494,X[58,15]=0.471,X[59,15]=0.463,X[60,15]=0.522,X[61,15]=0.357,X[62,15]=0.353,X[63,15]=0.537,X[64,15]=0.639,X[65,15]=0.533,X[66,15]=0.569,X[67,15]=0.635,X[68,15]=0.584,X[69,15]=0.553,X[70,15]=0.694,X[71,15]=0.588,X[72,15]=0.451,X[73,15]=0.420,X[74,15]=0.459,X[75,15]=0.569,X[76,15]=0.459,X[77,15]=0.459,X[78,15]=0.376,X[79,15]=0.486,X[80,15]=0.369,X[81,15]=0.373,X[82,15]=0.373,X[83,15]=0.365,X[84,15]=0.420,X[85,15]=0.376,X[86,15]=0.498,X[87,15]=0.435,X[88,15]=0.443,X[89,15]=0.431,X[90,15]=0.357,X[91,15]=0.318,X[92,15]=0.376,X[93,15]=0.357,X[94,15]=0.353,X[95,15]=0.353,X[96,15]=0.325,X[97,15]=0.216,X[98,15]=0.235,X[99,15]=0.243,X[100,15]=0.349 X[1,16]=0.478,X[2,16]=0.400,X[3,16]=0.510,X[4,16]=0.376,X[5,16]=0.510,X[6,16]=0.565,X[7,16]=0.365,X[8,16]=0.435,X[9,16]=0.549,X[10,16]=0.506,X[11,16]=0.325,X[12,16]=0.494,X[13,16]=0.420,X[14,16]=0.490,X[15,16]=0.553,X[16,16]=0.431,X[17,16]=0.498,X[18,16]=0.506,X[19,16]=0.541,X[20,16]=0.478,X[21,16]=0.447,X[22,16]=0.659,X[23,16]=0.702,X[24,16]=0.490,X[25,16]=0.306,X[26,16]=0.369,X[27,16]=0.373,X[28,16]=0.333,X[29,16]=0.318,X[30,16]=0.275,X[31,16]=0.275,X[32,16]=0.310,X[33,16]=0.290,X[34,16]=0.294,X[35,16]=0.314,X[36,16]=0.329,X[37,16]=0.267,X[38,16]=0.271,X[39,16]=0.298,X[40,16]=0.337,X[41,16]=0.353,X[42,16]=0.396,X[43,16]=0.427,X[44,16]=0.471,X[45,16]=0.459,X[46,16]=0.443,X[47,16]=0.675,X[48,16]=0.600,X[49,16]=0.714,X[50,16]=0.675 X[51,16]=0.443,X[52,16]=0.365,X[53,16]=0.459,X[54,16]=0.396,X[55,16]=0.506,X[56,16]=0.443,X[57,16]=0.506,X[58,16]=0.522,X[59,16]=0.498,X[60,16]=0.467,X[61,16]=0.341,X[62,16]=0.357,X[63,16]=0.569,X[64,16]=0.506,X[65,16]=0.522,X[66,16]=0.514,X[67,16]=0.549,X[68,16]=0.533,X[69,16]=0.510,X[70,16]=0.431,X[71,16]=0.478,X[72,16]=0.573,X[73,16]=0.682,X[74,16]=0.467,X[75,16]=0.314,X[76,16]=0.337,X[77,16]=0.349,X[78,16]=0.322,X[79,16]=0.318,X[80,16]=0.302,X[81,16]=0.278,X[82,16]=0.314,X[83,16]=0.290,X[84,16]=0.314,X[85,16]=0.286,X[86,16]=0.329,X[87,16]=0.263,X[88,16]=0.278,X[89,16]=0.302,X[90,16]=0.322,X[91,16]=0.365,X[92,16]=0.404,X[93,16]=0.455,X[94,16]=0.471,X[95,16]=0.459,X[96,16]=0.416,X[97,16]=0.631,X[98,16]=0.706,X[99,16]=0.733,X[100,16]=0.627 X[1,17]=0.714,X[2,17]=0.408,X[3,17]=0.455,X[4,17]=0.506,X[5,17]=0.529,X[6,17]=0.616,X[7,17]=0.420,X[8,17]=0.396,X[9,17]=0.416,X[10,17]=0.471,X[11,17]=0.376,X[12,17]=0.392,X[13,17]=0.482,X[14,17]=0.467,X[15,17]=0.498,X[16,17]=0.424,X[17,17]=0.376,X[18,17]=0.427,X[19,17]=0.463,X[20,17]=0.420,X[21,17]=0.435,X[22,17]=0.471,X[23,17]=0.565,X[24,17]=0.451,X[25,17]=0.573,X[26,17]=0.455,X[27,17]=0.518,X[28,17]=0.667,X[29,17]=0.522,X[30,17]=0.427,X[31,17]=0.475,X[32,17]=0.498,X[33,17]=0.616,X[34,17]=0.596,X[35,17]=0.553,X[36,17]=0.675,X[37,17]=0.596,X[38,17]=0.561,X[39,17]=0.631,X[40,17]=0.682,X[41,17]=0.525,X[42,17]=0.498,X[43,17]=0.412,X[44,17]=0.373,X[45,17]=0.502,X[46,17]=0.443,X[47,17]=0.431,X[48,17]=0.635,X[49,17]=0.620,X[50,17]=0.667 X[51,17]=0.561,X[52,17]=0.443,X[53,17]=0.455,X[54,17]=0.451,X[55,17]=0.600,X[56,17]=0.549,X[57,17]=0.600,X[58,17]=0.525,X[59,17]=0.478,X[60,17]=0.435,X[61,17]=0.353,X[62,17]=0.349,X[63,17]=0.451,X[64,17]=0.435,X[65,17]=0.420,X[66,17]=0.376,X[67,17]=0.337,X[68,17]=0.443,X[69,17]=0.475,X[70,17]=0.443,X[71,17]=0.435,X[72,17]=0.380,X[73,17]=0.549,X[74,17]=0.443,X[75,17]=0.439,X[76,17]=0.718,X[77,17]=0.565,X[78,17]=0.659,X[79,17]=0.643,X[80,17]=0.482,X[81,17]=0.420,X[82,17]=0.435,X[83,17]=0.608,X[84,17]=0.663,X[85,17]=0.471,X[86,17]=0.682,X[87,17]=0.580,X[88,17]=0.643,X[89,17]=0.663,X[90,17]=0.702,X[91,17]=0.514,X[92,17]=0.498,X[93,17]=0.475,X[94,17]=0.388,X[95,17]=0.525,X[96,17]=0.667,X[97,17]=0.486,X[98,17]=0.533,X[99,17]=0.561,X[100,17]=0.651 X[1,18]=0.541,X[2,18]=0.388,X[3,18]=0.337,X[4,18]=0.443,X[5,18]=0.471,X[6,18]=0.608,X[7,18]=0.494,X[8,18]=0.584,X[9,18]=0.522,X[10,18]=0.357,X[11,18]=0.361,X[12,18]=0.486,X[13,18]=0.471,X[14,18]=0.431,X[15,18]=0.522,X[16,18]=0.537,X[17,18]=0.416,X[18,18]=0.439,X[19,18]=0.396,X[20,18]=0.333,X[21,18]=0.388,X[22,18]=0.400,X[23,18]=0.494,X[24,18]=0.557,X[25,18]=0.608,X[26,18]=0.439,X[27,18]=0.494,X[28,18]=0.361,X[29,18]=0.451,X[30,18]=0.416,X[31,18]=0.416,X[32,18]=0.557,X[33,18]=0.627,X[34,18]=0.682,X[35,18]=0.537,X[36,18]=0.561,X[37,18]=0.471,X[38,18]=0.541,X[39,18]=0.545,X[40,18]=0.639,X[41,18]=0.714,X[42,18]=0.478,X[43,18]=0.392,X[44,18]=0.467,X[45,18]=0.514,X[46,18]=0.467,X[47,18]=0.424,X[48,18]=0.502,X[49,18]=0.525,X[50,18]=0.443 X[51,18]=0.463,X[52,18]=0.373,X[53,18]=0.341,X[54,18]=0.463,X[55,18]=0.498,X[56,18]=0.510,X[57,18]=0.506,X[58,18]=0.537,X[59,18]=0.671,X[60,18]=0.357,X[61,18]=0.361,X[62,18]=0.392,X[63,18]=0.455,X[64,18]=0.467,X[65,18]=0.529,X[66,18]=0.514,X[67,18]=0.439,X[68,18]=0.424,X[69,18]=0.404,X[70,18]=0.314,X[71,18]=0.373,X[72,18]=0.361,X[73,18]=0.447,X[74,18]=0.541,X[75,18]=0.573,X[76,18]=0.682,X[77,18]=0.502,X[78,18]=0.384,X[79,18]=0.443,X[80,18]=0.510,X[81,18]=0.396,X[82,18]=0.616,X[83,18]=0.604,X[84,18]=0.647,X[85,18]=0.631,X[86,18]=0.584,X[87,18]=0.463,X[88,18]=0.518,X[89,18]=0.561,X[90,18]=0.616,X[91,18]=0.718,X[92,18]=0.510,X[93,18]=0.451,X[94,18]=0.459,X[95,18]=0.557,X[96,18]=0.651,X[97,18]=0.475,X[98,18]=0.424,X[99,18]=0.478,X[100,18]=0.467 X[1,19]=0.376,X[2,19]=0.361,X[3,19]=0.424,X[4,19]=0.557,X[5,19]=0.408,X[6,19]=0.369,X[7,19]=0.565,X[8,19]=0.612,X[9,19]=0.498,X[10,19]=0.373,X[11,19]=0.337,X[12,19]=0.408,X[13,19]=0.357,X[14,19]=0.443,X[15,19]=0.486,X[16,19]=0.431,X[17,19]=0.553,X[18,19]=0.608,X[19,19]=0.525,X[20,19]=0.537,X[21,19]=0.514,X[22,19]=0.388,X[23,19]=0.463,X[24,19]=0.365,X[25,19]=0.612,X[26,19]=0.400,X[27,19]=0.384,X[28,19]=0.380,X[29,19]=0.349,X[30,19]=0.384,X[31,19]=0.478,X[32,19]=0.627,X[33,19]=0.565,X[34,19]=0.624,X[35,19]=0.420,X[36,19]=0.392,X[37,19]=0.451,X[38,19]=0.431,X[39,19]=0.357,X[40,19]=0.435,X[41,19]=0.565,X[42,19]=0.514,X[43,19]=0.416,X[44,19]=0.506,X[45,19]=0.494,X[46,19]=0.298,X[47,19]=0.278,X[48,19]=0.302,X[49,19]=0.294,X[50,19]=0.337 X[51,19]=0.384,X[52,19]=0.396,X[53,19]=0.388,X[54,19]=0.506,X[55,19]=0.420,X[56,19]=0.424,X[57,19]=0.498,X[58,19]=0.365,X[59,19]=0.455,X[60,19]=0.333,X[61,19]=0.325,X[62,19]=0.349,X[63,19]=0.396,X[64,19]=0.412,X[65,19]=0.447,X[66,19]=0.490,X[67,19]=0.627,X[68,19]=0.616,X[69,19]=0.506,X[70,19]=0.557,X[71,19]=0.631,X[72,19]=0.376,X[73,19]=0.502,X[74,19]=0.376,X[75,19]=0.627,X[76,19]=0.306,X[77,19]=0.431,X[78,19]=0.357,X[79,19]=0.329,X[80,19]=0.373,X[81,19]=0.498,X[82,19]=0.659,X[83,19]=0.533,X[84,19]=0.549,X[85,19]=0.580,X[86,19]=0.392,X[87,19]=0.384,X[88,19]=0.431,X[89,19]=0.478,X[90,19]=0.345,X[91,19]=0.600,X[92,19]=0.518,X[93,19]=0.439,X[94,19]=0.498,X[95,19]=0.490,X[96,19]=0.424,X[97,19]=0.282,X[98,19]=0.286,X[99,19]=0.294,X[100,19]=0.337 X[1,20]=0.286,X[2,20]=0.353,X[3,20]=0.329,X[4,20]=0.318,X[5,20]=0.341,X[6,20]=0.329,X[7,20]=0.306,X[8,20]=0.353,X[9,20]=0.349,X[10,20]=0.298,X[11,20]=0.384,X[12,20]=0.349,X[13,20]=0.427,X[14,20]=0.494,X[15,20]=0.580,X[16,20]=0.529,X[17,20]=0.639,X[18,20]=0.502,X[19,20]=0.463,X[20,20]=0.486,X[21,20]=0.400,X[22,20]=0.514,X[23,20]=0.357,X[24,20]=0.525,X[25,20]=0.345,X[26,20]=0.424,X[27,20]=0.596,X[28,20]=0.541,X[29,20]=0.584,X[30,20]=0.561,X[31,20]=0.369,X[32,20]=0.761,X[33,20]=0.694,X[34,20]=0.431,X[35,20]=0.439,X[36,20]=0.475,X[37,20]=0.416,X[38,20]=0.388,X[39,20]=0.533,X[40,20]=0.639,X[41,20]=0.765,X[42,20]=0.412,X[43,20]=0.373,X[44,20]=0.435,X[45,20]=0.498,X[46,20]=0.573,X[47,20]=0.576,X[48,20]=0.710,X[49,20]=0.620,X[50,20]=0.282 X[51,20]=0.298,X[52,20]=0.349,X[53,20]=0.345,X[54,20]=0.341,X[55,20]=0.333,X[56,20]=0.349,X[57,20]=0.447,X[58,20]=0.310,X[59,20]=0.463,X[60,20]=0.298,X[61,20]=0.392,X[62,20]=0.384,X[63,20]=0.408,X[64,20]=0.518,X[65,20]=0.608,X[66,20]=0.608,X[67,20]=0.624,X[68,20]=0.431,X[69,20]=0.482,X[70,20]=0.455,X[71,20]=0.384,X[72,20]=0.533,X[73,20]=0.369,X[74,20]=0.529,X[75,20]=0.553,X[76,20]=0.341,X[77,20]=0.600,X[78,20]=0.525,X[79,20]=0.522,X[80,20]=0.541,X[81,20]=0.353,X[82,20]=0.757,X[83,20]=0.710,X[84,20]=0.639,X[85,20]=0.482,X[86,20]=0.478,X[87,20]=0.424,X[88,20]=0.459,X[89,20]=0.518,X[90,20]=0.525,X[91,20]=0.729,X[92,20]=0.404,X[93,20]=0.376,X[94,20]=0.447,X[95,20]=0.545,X[96,20]=0.537,X[97,20]=0.592,X[98,20]=0.639,X[99,20]=0.580,X[100,20]=0.286 X[1,21]=0.671,X[2,21]=0.420,X[3,21]=0.365,X[4,21]=0.384,X[5,21]=0.361,X[6,21]=0.341,X[7,21]=0.322,X[8,21]=0.569,X[9,21]=0.694,X[10,21]=0.518,X[11,21]=0.600,X[12,21]=0.357,X[13,21]=0.412,X[14,21]=0.443,X[15,21]=0.584,X[16,21]=0.588,X[17,21]=0.624,X[18,21]=0.686,X[19,21]=0.639,X[20,21]=0.498,X[21,21]=0.643,X[22,21]=0.459,X[23,21]=0.478,X[24,21]=0.424,X[25,21]=0.325,X[26,21]=0.337,X[27,21]=0.361,X[28,21]=0.510,X[29,21]=0.553,X[30,21]=0.675,X[31,21]=0.686,X[32,21]=0.639,X[33,21]=0.475,X[34,21]=0.443,X[35,21]=0.510,X[36,21]=0.569,X[37,21]=0.612,X[38,21]=0.400,X[39,21]=0.392,X[40,21]=0.624,X[41,21]=0.753,X[42,21]=0.529,X[43,21]=0.569,X[44,21]=0.627,X[45,21]=0.471,X[46,21]=0.565,X[47,21]=0.565,X[48,21]=0.573,X[49,21]=0.686,X[50,21]=0.690 X[51,21]=0.541,X[52,21]=0.361,X[53,21]=0.373,X[54,21]=0.392,X[55,21]=0.361,X[56,21]=0.310,X[57,21]=0.459,X[58,21]=0.431,X[59,21]=0.651,X[60,21]=0.529,X[61,21]=0.557,X[62,21]=0.400,X[63,21]=0.400,X[64,21]=0.463,X[65,21]=0.592,X[66,21]=0.655,X[67,21]=0.553,X[68,21]=0.682,X[69,21]=0.624,X[70,21]=0.529,X[71,21]=0.682,X[72,21]=0.443,X[73,21]=0.478,X[74,21]=0.416,X[75,21]=0.349,X[76,21]=0.310,X[77,21]=0.361,X[78,21]=0.518,X[79,21]=0.506,X[80,21]=0.608,X[81,21]=0.643,X[82,21]=0.580,X[83,21]=0.435,X[84,21]=0.424,X[85,21]=0.439,X[86,21]=0.608,X[87,21]=0.620,X[88,21]=0.498,X[89,21]=0.396,X[90,21]=0.565,X[91,21]=0.722,X[92,21]=0.510,X[93,21]=0.404,X[94,21]=0.624,X[95,21]=0.498,X[96,21]=0.580,X[97,21]=0.502,X[98,21]=0.522,X[99,21]=0.678,X[100,21]=0.710 X[1,22]=0.659,X[2,22]=0.698,X[3,22]=0.565,X[4,22]=0.322,X[5,22]=0.282,X[6,22]=0.431,X[7,22]=0.439,X[8,22]=0.659,X[9,22]=0.659,X[10,22]=0.584,X[11,22]=0.565,X[12,22]=0.376,X[13,22]=0.416,X[14,22]=0.533,X[15,22]=0.498,X[16,22]=0.549,X[17,22]=0.608,X[18,22]=0.537,X[19,22]=0.616,X[20,22]=0.655,X[21,22]=0.639,X[22,22]=0.655,X[23,22]=0.545,X[24,22]=0.396,X[25,22]=0.424,X[26,22]=0.345,X[27,22]=0.345,X[28,22]=0.365,X[29,22]=0.298,X[30,22]=0.400,X[31,22]=0.498,X[32,22]=0.541,X[33,22]=0.478,X[34,22]=0.533,X[35,22]=0.514,X[36,22]=0.557,X[37,22]=0.533,X[38,22]=0.412,X[39,22]=0.408,X[40,22]=0.675,X[41,22]=0.427,X[42,22]=0.486,X[43,22]=0.482,X[44,22]=0.435,X[45,22]=0.635,X[46,22]=0.486,X[47,22]=0.435,X[48,22]=0.369,X[49,22]=0.427,X[50,22]=0.604 X[51,22]=0.663,X[52,22]=0.706,X[53,22]=0.616,X[54,22]=0.333,X[55,22]=0.275,X[56,22]=0.588,X[57,22]=0.494,X[58,22]=0.494,X[59,22]=0.682,X[60,22]=0.604,X[61,22]=0.533,X[62,22]=0.443,X[63,22]=0.357,X[64,22]=0.553,X[65,22]=0.518,X[66,22]=0.490,X[67,22]=0.627,X[68,22]=0.569,X[69,22]=0.631,X[70,22]=0.616,X[71,22]=0.624,X[72,22]=0.671,X[73,22]=0.584,X[74,22]=0.384,X[75,22]=0.345,X[76,22]=0.400,X[77,22]=0.365,X[78,22]=0.384,X[79,22]=0.349,X[80,22]=0.388,X[81,22]=0.522,X[82,22]=0.506,X[83,22]=0.510,X[84,22]=0.424,X[85,22]=0.427,X[86,22]=0.580,X[87,22]=0.529,X[88,22]=0.463,X[89,22]=0.376,X[90,22]=0.604,X[91,22]=0.412,X[92,22]=0.482,X[93,22]=0.482,X[94,22]=0.373,X[95,22]=0.580,X[96,22]=0.475,X[97,22]=0.482,X[98,22]=0.380,X[99,22]=0.439,X[100,22]=0.624 X[1,23]=0.576,X[2,23]=0.592,X[3,23]=0.427,X[4,23]=0.231,X[5,23]=0.443,X[6,23]=0.431,X[7,23]=0.624,X[8,23]=0.557,X[9,23]=0.718,X[10,23]=0.518,X[11,23]=0.471,X[12,23]=0.345,X[13,23]=0.427,X[14,23]=0.416,X[15,23]=0.514,X[16,23]=0.451,X[17,23]=0.478,X[18,23]=0.380,X[19,23]=0.424,X[20,23]=0.510,X[21,23]=0.545,X[22,23]=0.580,X[23,23]=0.714,X[24,23]=0.408,X[25,23]=0.416,X[26,23]=0.396,X[27,23]=0.333,X[28,23]=0.271,X[29,23]=0.349,X[30,23]=0.482,X[31,23]=0.416,X[32,23]=0.306,X[33,23]=0.345,X[34,23]=0.467,X[35,23]=0.447,X[36,23]=0.459,X[37,23]=0.486,X[38,23]=0.522,X[39,23]=0.533,X[40,23]=0.498,X[41,23]=0.443,X[42,23]=0.451,X[43,23]=0.486,X[44,23]=0.431,X[45,23]=0.463,X[46,23]=0.376,X[47,23]=0.369,X[48,23]=0.447,X[49,23]=0.365,X[50,23]=0.455 X[51,23]=0.569,X[52,23]=0.518,X[53,23]=0.420,X[54,23]=0.255,X[55,23]=0.427,X[56,23]=0.616,X[57,23]=0.596,X[58,23]=0.537,X[59,23]=0.671,X[60,23]=0.557,X[61,23]=0.420,X[62,23]=0.357,X[63,23]=0.408,X[64,23]=0.408,X[65,23]=0.514,X[66,23]=0.565,X[67,23]=0.490,X[68,23]=0.365,X[69,23]=0.400,X[70,23]=0.541,X[71,23]=0.639,X[72,23]=0.604,X[73,23]=0.714,X[74,23]=0.408,X[75,23]=0.459,X[76,23]=0.392,X[77,23]=0.337,X[78,23]=0.259,X[79,23]=0.275,X[80,23]=0.451,X[81,23]=0.408,X[82,23]=0.290,X[83,23]=0.341,X[84,23]=0.447,X[85,23]=0.408,X[86,23]=0.459,X[87,23]=0.451,X[88,23]=0.518,X[89,23]=0.561,X[90,23]=0.631,X[91,23]=0.435,X[92,23]=0.455,X[93,23]=0.459,X[94,23]=0.439,X[95,23]=0.506,X[96,23]=0.357,X[97,23]=0.506,X[98,23]=0.373,X[99,23]=0.404,X[100,23]=0.471 X[1,24]=0.518,X[2,24]=0.569,X[3,24]=0.514,X[4,24]=0.243,X[5,24]=0.298,X[6,24]=0.373,X[7,24]=0.506,X[8,24]=0.580,X[9,24]=0.647,X[10,24]=0.373,X[11,24]=0.365,X[12,24]=0.267,X[13,24]=0.369,X[14,24]=0.475,X[15,24]=0.451,X[16,24]=0.416,X[17,24]=0.400,X[18,24]=0.463,X[19,24]=0.584,X[20,24]=0.537,X[21,24]=0.502,X[22,24]=0.671,X[23,24]=0.686,X[24,24]=0.412,X[25,24]=0.612,X[26,24]=0.627,X[27,24]=0.718,X[28,24]=0.463,X[29,24]=0.251,X[30,24]=0.294,X[31,24]=0.282,X[32,24]=0.420,X[33,24]=0.412,X[34,24]=0.302,X[35,24]=0.584,X[36,24]=0.541,X[37,24]=0.380,X[38,24]=0.341,X[39,24]=0.424,X[40,24]=0.373,X[41,24]=0.459,X[42,24]=0.498,X[43,24]=0.478,X[44,24]=0.439,X[45,24]=0.533,X[46,24]=0.314,X[47,24]=0.357,X[48,24]=0.486,X[49,24]=0.388,X[50,24]=0.361 X[51,24]=0.631,X[52,24]=0.388,X[53,24]=0.478,X[54,24]=0.255,X[55,24]=0.302,X[56,24]=0.443,X[57,24]=0.561,X[58,24]=0.608,X[59,24]=0.761,X[60,24]=0.361,X[61,24]=0.365,X[62,24]=0.341,X[63,24]=0.310,X[64,24]=0.467,X[65,24]=0.427,X[66,24]=0.408,X[67,24]=0.502,X[68,24]=0.451,X[69,24]=0.569,X[70,24]=0.553,X[71,24]=0.522,X[72,24]=0.624,X[73,24]=0.694,X[74,24]=0.408,X[75,24]=0.533,X[76,24]=0.714,X[77,24]=0.714,X[78,24]=0.443,X[79,24]=0.259,X[80,24]=0.259,X[81,24]=0.294,X[82,24]=0.424,X[83,24]=0.404,X[84,24]=0.361,X[85,24]=0.443,X[86,24]=0.537,X[87,24]=0.388,X[88,24]=0.314,X[89,24]=0.506,X[90,24]=0.424,X[91,24]=0.482,X[92,24]=0.467,X[93,24]=0.404,X[94,24]=0.420,X[95,24]=0.529,X[96,24]=0.455,X[97,24]=0.322,X[98,24]=0.447,X[99,24]=0.431,X[100,24]=0.400 X[1,25]=0.392,X[2,25]=0.592,X[3,25]=0.439,X[4,25]=0.478,X[5,25]=0.353,X[6,25]=0.329,X[7,25]=0.310,X[8,25]=0.322,X[9,25]=0.451,X[10,25]=0.576,X[11,25]=0.706,X[12,25]=0.380,X[13,25]=0.302,X[14,25]=0.349,X[15,25]=0.451,X[16,25]=0.545,X[17,25]=0.357,X[18,25]=0.420,X[19,25]=0.427,X[20,25]=0.584,X[21,25]=0.525,X[22,25]=0.616,X[23,25]=0.631,X[24,25]=0.451,X[25,25]=0.510,X[26,25]=0.576,X[27,25]=0.502,X[28,25]=0.576,X[29,25]=0.729,X[30,25]=0.286,X[31,25]=0.290,X[32,25]=0.349,X[33,25]=0.392,X[34,25]=0.443,X[35,25]=0.459,X[36,25]=0.412,X[37,25]=0.475,X[38,25]=0.431,X[39,25]=0.498,X[40,25]=0.408,X[41,25]=0.290,X[42,25]=0.263,X[43,25]=0.282,X[44,25]=0.349,X[45,25]=0.459,X[46,25]=0.396,X[47,25]=0.541,X[48,25]=0.478,X[49,25]=0.455,X[50,25]=0.373 X[51,25]=0.549,X[52,25]=0.576,X[53,25]=0.522,X[54,25]=0.529,X[55,25]=0.361,X[56,25]=0.282,X[57,25]=0.490,X[58,25]=0.345,X[59,25]=0.341,X[60,25]=0.584,X[61,25]=0.729,X[62,25]=0.624,X[63,25]=0.278,X[64,25]=0.353,X[65,25]=0.427,X[66,25]=0.584,X[67,25]=0.412,X[68,25]=0.408,X[69,25]=0.463,X[70,25]=0.518,X[71,25]=0.541,X[72,25]=0.400,X[73,25]=0.596,X[74,25]=0.451,X[75,25]=0.506,X[76,25]=0.600,X[77,25]=0.553,X[78,25]=0.561,X[79,25]=0.627,X[80,25]=0.494,X[81,25]=0.278,X[82,25]=0.373,X[83,25]=0.384,X[84,25]=0.463,X[85,25]=0.341,X[86,25]=0.400,X[87,25]=0.486,X[88,25]=0.498,X[89,25]=0.459,X[90,25]=0.404,X[91,25]=0.278,X[92,25]=0.247,X[93,25]=0.298,X[94,25]=0.357,X[95,25]=0.447,X[96,25]=0.369,X[97,25]=0.388,X[98,25]=0.424,X[99,25]=0.408,X[100,25]=0.416 X[1,26]=0.329,X[2,26]=0.290,X[3,26]=0.345,X[4,26]=0.314,X[5,26]=0.369,X[6,26]=0.349,X[7,26]=0.427,X[8,26]=0.478,X[9,26]=0.486,X[10,26]=0.490,X[11,26]=0.631,X[12,26]=0.647,X[13,26]=0.325,X[14,26]=0.290,X[15,26]=0.412,X[16,26]=0.569,X[17,26]=0.553,X[18,26]=0.498,X[19,26]=0.443,X[20,26]=0.420,X[21,26]=0.596,X[22,26]=0.576,X[23,26]=0.525,X[24,26]=0.506,X[25,26]=0.584,X[26,26]=0.541,X[27,26]=0.482,X[28,26]=0.533,X[29,26]=0.616,X[30,26]=0.624,X[31,26]=0.624,X[32,26]=0.341,X[33,26]=0.588,X[34,26]=0.549,X[35,26]=0.388,X[36,26]=0.478,X[37,26]=0.506,X[38,26]=0.427,X[39,26]=0.369,X[40,26]=0.482,X[41,26]=0.400,X[42,26]=0.400,X[43,26]=0.412,X[44,26]=0.341,X[45,26]=0.553,X[46,26]=0.357,X[47,26]=0.471,X[48,26]=0.365,X[49,26]=0.325,X[50,26]=0.353 X[51,26]=0.333,X[52,26]=0.404,X[53,26]=0.396,X[54,26]=0.325,X[55,26]=0.396,X[56,26]=0.314,X[57,26]=0.596,X[58,26]=0.510,X[59,26]=0.510,X[60,26]=0.490,X[61,26]=0.639,X[62,26]=0.722,X[63,26]=0.345,X[64,26]=0.314,X[65,26]=0.416,X[66,26]=0.475,X[67,26]=0.459,X[68,26]=0.471,X[69,26]=0.443,X[70,26]=0.431,X[71,26]=0.529,X[72,26]=0.639,X[73,26]=0.525,X[74,26]=0.498,X[75,26]=0.482,X[76,26]=0.522,X[77,26]=0.502,X[78,26]=0.596,X[79,26]=0.494,X[80,26]=0.616,X[81,26]=0.533,X[82,26]=0.353,X[83,26]=0.600,X[84,26]=0.588,X[85,26]=0.447,X[86,26]=0.455,X[87,26]=0.463,X[88,26]=0.463,X[89,26]=0.333,X[90,26]=0.408,X[91,26]=0.424,X[92,26]=0.412,X[93,26]=0.416,X[94,26]=0.369,X[95,26]=0.533,X[96,26]=0.396,X[97,26]=0.357,X[98,26]=0.439,X[99,26]=0.318,X[100,26]=0.302 X[1,27]=0.278,X[2,27]=0.133,X[3,27]=0.490,X[4,27]=0.667,X[5,27]=0.494,X[6,27]=0.388,X[7,27]=0.580,X[8,27]=0.545,X[9,27]=0.463,X[10,27]=0.514,X[11,27]=0.561,X[12,27]=0.651,X[13,27]=0.341,X[14,27]=0.314,X[15,27]=0.290,X[16,27]=0.337,X[17,27]=0.325,X[18,27]=0.318,X[19,27]=0.290,X[20,27]=0.224,X[21,27]=0.545,X[22,27]=0.725,X[23,27]=0.565,X[24,27]=0.518,X[25,27]=0.561,X[26,27]=0.427,X[27,27]=0.447,X[28,27]=0.588,X[29,27]=0.565,X[30,27]=0.475,X[31,27]=0.592,X[32,27]=0.282,X[33,27]=0.388,X[34,27]=0.549,X[35,27]=0.337,X[36,27]=0.408,X[37,27]=0.451,X[38,27]=0.431,X[39,27]=0.337,X[40,27]=0.439,X[41,27]=0.416,X[42,27]=0.467,X[43,27]=0.325,X[44,27]=0.267,X[45,27]=0.384,X[46,27]=0.251,X[47,27]=0.314,X[48,27]=0.216,X[49,27]=0.322,X[50,27]=0.251 X[51,27]=0.227,X[52,27]=0.216,X[53,27]=0.498,X[54,27]=0.671,X[55,27]=0.494,X[56,27]=0.471,X[57,27]=0.522,X[58,27]=0.486,X[59,27]=0.604,X[60,27]=0.498,X[61,27]=0.549,X[62,27]=0.545,X[63,27]=0.427,X[64,27]=0.306,X[65,27]=0.325,X[66,27]=0.345,X[67,27]=0.310,X[68,27]=0.318,X[69,27]=0.302,X[70,27]=0.243,X[71,27]=0.318,X[72,27]=0.608,X[73,27]=0.557,X[74,27]=0.510,X[75,27]=0.439,X[76,27]=0.471,X[77,27]=0.467,X[78,27]=0.592,X[79,27]=0.486,X[80,27]=0.643,X[81,27]=0.576,X[82,27]=0.302,X[83,27]=0.373,X[84,27]=0.463,X[85,27]=0.431,X[86,27]=0.404,X[87,27]=0.420,X[88,27]=0.573,X[89,27]=0.341,X[90,27]=0.392,X[91,27]=0.408,X[92,27]=0.447,X[93,27]=0.302,X[94,27]=0.247,X[95,27]=0.392,X[96,27]=0.341,X[97,27]=0.290,X[98,27]=0.231,X[99,27]=0.337,X[100,27]=0.263 X[1,28]=0.345,X[2,28]=0.176,X[3,28]=0.435,X[4,28]=0.604,X[5,28]=0.537,X[6,28]=0.455,X[7,28]=0.349,X[8,28]=0.518,X[9,28]=0.471,X[10,28]=0.537,X[11,28]=0.604,X[12,28]=0.616,X[13,28]=0.467,X[14,28]=0.322,X[15,28]=0.396,X[16,28]=0.451,X[17,28]=0.533,X[18,28]=0.541,X[19,28]=0.557,X[20,28]=0.557,X[21,28]=0.604,X[22,28]=0.655,X[23,28]=0.478,X[24,28]=0.396,X[25,28]=0.322,X[26,28]=0.475,X[27,28]=0.459,X[28,28]=0.647,X[29,28]=0.447,X[30,28]=0.553,X[31,28]=0.620,X[32,28]=0.384,X[33,28]=0.267,X[34,28]=0.475,X[35,28]=0.455,X[36,28]=0.369,X[37,28]=0.549,X[38,28]=0.388,X[39,28]=0.337,X[40,28]=0.337,X[41,28]=0.286,X[42,28]=0.278,X[43,28]=0.357,X[44,28]=0.322,X[45,28]=0.408,X[46,28]=0.267,X[47,28]=0.196,X[48,28]=0.263,X[49,28]=0.286,X[50,28]=0.310 X[51,28]=0.290,X[52,28]=0.318,X[53,28]=0.408,X[54,28]=0.557,X[55,28]=0.545,X[56,28]=0.431,X[57,28]=0.494,X[58,28]=0.392,X[59,28]=0.424,X[60,28]=0.533,X[61,28]=0.627,X[62,28]=0.675,X[63,28]=0.647,X[64,28]=0.333,X[65,28]=0.369,X[66,28]=0.471,X[67,28]=0.439,X[68,28]=0.529,X[69,28]=0.549,X[70,28]=0.498,X[71,28]=0.443,X[72,28]=0.682,X[73,28]=0.467,X[74,28]=0.400,X[75,28]=0.373,X[76,28]=0.498,X[77,28]=0.494,X[78,28]=0.565,X[79,28]=0.514,X[80,28]=0.573,X[81,28]=0.624,X[82,28]=0.318,X[83,28]=0.290,X[84,28]=0.345,X[85,28]=0.553,X[86,28]=0.353,X[87,28]=0.525,X[88,28]=0.447,X[89,28]=0.365,X[90,28]=0.290,X[91,28]=0.286,X[92,28]=0.333,X[93,28]=0.345,X[94,28]=0.380,X[95,28]=0.392,X[96,28]=0.267,X[97,28]=0.216,X[98,28]=0.243,X[99,28]=0.290,X[100,28]=0.314 X[1,29]=0.404,X[2,29]=0.337,X[3,29]=0.451,X[4,29]=0.525,X[5,29]=0.447,X[6,29]=0.471,X[7,29]=0.388,X[8,29]=0.357,X[9,29]=0.529,X[10,29]=0.420,X[11,29]=0.502,X[12,29]=0.435,X[13,29]=0.596,X[14,29]=0.482,X[15,29]=0.306,X[16,29]=0.267,X[17,29]=0.239,X[18,29]=0.294,X[19,29]=0.400,X[20,29]=0.490,X[21,29]=0.655,X[22,29]=0.608,X[23,29]=0.565,X[24,29]=0.663,X[25,29]=0.498,X[26,29]=0.467,X[27,29]=0.490,X[28,29]=0.475,X[29,29]=0.651,X[30,29]=0.584,X[31,29]=0.525,X[32,29]=0.439,X[33,29]=0.345,X[34,29]=0.345,X[35,29]=0.294,X[36,29]=0.314,X[37,29]=0.420,X[38,29]=0.459,X[39,29]=0.443,X[40,29]=0.392,X[41,29]=0.388,X[42,29]=0.353,X[43,29]=0.369,X[44,29]=0.365,X[45,29]=0.494,X[46,29]=0.639,X[47,29]=0.537,X[48,29]=0.424,X[49,29]=0.396,X[50,29]=0.373 X[51,29]=0.345,X[52,29]=0.384,X[53,29]=0.471,X[54,29]=0.533,X[55,29]=0.502,X[56,29]=0.400,X[57,29]=0.494,X[58,29]=0.408,X[59,29]=0.565,X[60,29]=0.447,X[61,29]=0.506,X[62,29]=0.420,X[63,29]=0.573,X[64,29]=0.431,X[65,29]=0.322,X[66,29]=0.259,X[67,29]=0.212,X[68,29]=0.310,X[69,29]=0.400,X[70,29]=0.478,X[71,29]=0.631,X[72,29]=0.678,X[73,29]=0.584,X[74,29]=0.667,X[75,29]=0.580,X[76,29]=0.376,X[77,29]=0.467,X[78,29]=0.514,X[79,29]=0.620,X[80,29]=0.667,X[81,29]=0.514,X[82,29]=0.420,X[83,29]=0.357,X[84,29]=0.357,X[85,29]=0.290,X[86,29]=0.322,X[87,29]=0.427,X[88,29]=0.463,X[89,29]=0.455,X[90,29]=0.384,X[91,29]=0.369,X[92,29]=0.353,X[93,29]=0.361,X[94,29]=0.361,X[95,29]=0.518,X[96,29]=0.596,X[97,29]=0.592,X[98,29]=0.431,X[99,29]=0.380,X[100,29]=0.384 X[1,30]=0.349,X[2,30]=0.259,X[3,30]=0.239,X[4,30]=0.431,X[5,30]=0.541,X[6,30]=0.408,X[7,30]=0.478,X[8,30]=0.467,X[9,30]=0.533,X[10,30]=0.518,X[11,30]=0.475,X[12,30]=0.482,X[13,30]=0.549,X[14,30]=0.576,X[15,30]=0.400,X[16,30]=0.416,X[17,30]=0.439,X[18,30]=0.439,X[19,30]=0.510,X[20,30]=0.541,X[21,30]=0.533,X[22,30]=0.631,X[23,30]=0.698,X[24,30]=0.694,X[25,30]=0.722,X[26,30]=0.596,X[27,30]=0.502,X[28,30]=0.384,X[29,30]=0.471,X[30,30]=0.498,X[31,30]=0.651,X[32,30]=0.518,X[33,30]=0.435,X[34,30]=0.443,X[35,30]=0.655,X[36,30]=0.557,X[37,30]=0.478,X[38,30]=0.545,X[39,30]=0.545,X[40,30]=0.678,X[41,30]=0.627,X[42,30]=0.561,X[43,30]=0.620,X[44,30]=0.533,X[45,30]=0.592,X[46,30]=0.639,X[47,30]=0.694,X[48,30]=0.710,X[49,30]=0.553,X[50,30]=0.396 X[51,30]=0.318,X[52,30]=0.204,X[53,30]=0.192,X[54,30]=0.412,X[55,30]=0.537,X[56,30]=0.482,X[57,30]=0.529,X[58,30]=0.451,X[59,30]=0.529,X[60,30]=0.522,X[61,30]=0.471,X[62,30]=0.463,X[63,30]=0.404,X[64,30]=0.573,X[65,30]=0.361,X[66,30]=0.400,X[67,30]=0.400,X[68,30]=0.451,X[69,30]=0.529,X[70,30]=0.557,X[71,30]=0.584,X[72,30]=0.604,X[73,30]=0.698,X[74,30]=0.682,X[75,30]=0.714,X[76,30]=0.690,X[77,30]=0.549,X[78,30]=0.396,X[79,30]=0.400,X[80,30]=0.431,X[81,30]=0.639,X[82,30]=0.569,X[83,30]=0.420,X[84,30]=0.424,X[85,30]=0.573,X[86,30]=0.580,X[87,30]=0.486,X[88,30]=0.525,X[89,30]=0.616,X[90,30]=0.639,X[91,30]=0.722,X[92,30]=0.557,X[93,30]=0.682,X[94,30]=0.522,X[95,30]=0.569,X[96,30]=0.522,X[97,30]=0.624,X[98,30]=0.741,X[99,30]=0.498,X[100,30]=0.424 X[1,31]=0.337,X[2,31]=0.302,X[3,31]=0.286,X[4,31]=0.310,X[5,31]=0.392,X[6,31]=0.380,X[7,31]=0.510,X[8,31]=0.384,X[9,31]=0.408,X[10,31]=0.490,X[11,31]=0.671,X[12,31]=0.627,X[13,31]=0.592,X[14,31]=0.596,X[15,31]=0.549,X[16,31]=0.561,X[17,31]=0.471,X[18,31]=0.451,X[19,31]=0.486,X[20,31]=0.514,X[21,31]=0.549,X[22,31]=0.549,X[23,31]=0.592,X[24,31]=0.514,X[25,31]=0.667,X[26,31]=0.694,X[27,31]=0.694,X[28,31]=0.518,X[29,31]=0.471,X[30,31]=0.686,X[31,31]=0.627,X[32,31]=0.627,X[33,31]=0.706,X[34,31]=0.576,X[35,31]=0.686,X[36,31]=0.565,X[37,31]=0.682,X[38,31]=0.404,X[39,31]=0.506,X[40,31]=0.565,X[41,31]=0.522,X[42,31]=0.400,X[43,31]=0.537,X[44,31]=0.549,X[45,31]=0.506,X[46,31]=0.522,X[47,31]=0.537,X[48,31]=0.749,X[49,31]=0.725,X[50,31]=0.424 X[51,31]=0.271,X[52,31]=0.220,X[53,31]=0.255,X[54,31]=0.341,X[55,31]=0.384,X[56,31]=0.400,X[57,31]=0.420,X[58,31]=0.412,X[59,31]=0.420,X[60,31]=0.486,X[61,31]=0.651,X[62,31]=0.675,X[63,31]=0.620,X[64,31]=0.592,X[65,31]=0.549,X[66,31]=0.522,X[67,31]=0.510,X[68,31]=0.443,X[69,31]=0.506,X[70,31]=0.486,X[71,31]=0.580,X[72,31]=0.620,X[73,31]=0.565,X[74,31]=0.510,X[75,31]=0.604,X[76,31]=0.714,X[77,31]=0.706,X[78,31]=0.518,X[79,31]=0.518,X[80,31]=0.616,X[81,31]=0.624,X[82,31]=0.612,X[83,31]=0.702,X[84,31]=0.596,X[85,31]=0.624,X[86,31]=0.620,X[87,31]=0.675,X[88,31]=0.510,X[89,31]=0.498,X[90,31]=0.498,X[91,31]=0.573,X[92,31]=0.412,X[93,31]=0.537,X[94,31]=0.557,X[95,31]=0.549,X[96,31]=0.592,X[97,31]=0.529,X[98,31]=0.643,X[99,31]=0.718,X[100,31]=0.427 X[1,32]=0.361,X[2,32]=0.329,X[3,32]=0.290,X[4,32]=0.243,X[5,32]=0.486,X[6,32]=0.325,X[7,32]=0.337,X[8,32]=0.404,X[9,32]=0.384,X[10,32]=0.322,X[11,32]=0.325,X[12,32]=0.506,X[13,32]=0.369,X[14,32]=0.322,X[15,32]=0.627,X[16,32]=0.494,X[17,32]=0.392,X[18,32]=0.388,X[19,32]=0.494,X[20,32]=0.537,X[21,32]=0.396,X[22,32]=0.604,X[23,32]=0.557,X[24,32]=0.478,X[25,32]=0.714,X[26,32]=0.565,X[27,32]=0.620,X[28,32]=0.702,X[29,32]=0.631,X[30,32]=0.502,X[31,32]=0.522,X[32,32]=0.573,X[33,32]=0.639,X[34,32]=0.376,X[35,32]=0.514,X[36,32]=0.604,X[37,32]=0.478,X[38,32]=0.502,X[39,32]=0.561,X[40,32]=0.447,X[41,32]=0.475,X[42,32]=0.396,X[43,32]=0.420,X[44,32]=0.624,X[45,32]=0.376,X[46,32]=0.502,X[47,32]=0.498,X[48,32]=0.667,X[49,32]=0.725,X[50,32]=0.647 X[51,32]=0.306,X[52,32]=0.325,X[53,32]=0.302,X[54,32]=0.235,X[55,32]=0.529,X[56,32]=0.349,X[57,32]=0.525,X[58,32]=0.392,X[59,32]=0.424,X[60,32]=0.286,X[61,32]=0.322,X[62,32]=0.420,X[63,32]=0.447,X[64,32]=0.314,X[65,32]=0.659,X[66,32]=0.592,X[67,32]=0.467,X[68,32]=0.404,X[69,32]=0.506,X[70,32]=0.525,X[71,32]=0.412,X[72,32]=0.475,X[73,32]=0.541,X[74,32]=0.498,X[75,32]=0.694,X[76,32]=0.600,X[77,32]=0.580,X[78,32]=0.686,X[79,32]=0.624,X[80,32]=0.569,X[81,32]=0.545,X[82,32]=0.604,X[83,32]=0.678,X[84,32]=0.580,X[85,32]=0.545,X[86,32]=0.612,X[87,32]=0.459,X[88,32]=0.424,X[89,32]=0.424,X[90,32]=0.502,X[91,32]=0.467,X[92,32]=0.388,X[93,32]=0.490,X[94,32]=0.616,X[95,32]=0.439,X[96,32]=0.608,X[97,32]=0.600,X[98,32]=0.533,X[99,32]=0.694,X[100,32]=0.604 X[1,33]=0.447,X[2,33]=0.365,X[3,33]=0.467,X[4,33]=0.345,X[5,33]=0.353,X[6,33]=0.322,X[7,33]=0.392,X[8,33]=0.294,X[9,33]=0.396,X[10,33]=0.361,X[11,33]=0.322,X[12,33]=0.412,X[13,33]=0.655,X[14,33]=0.745,X[15,33]=0.643,X[16,33]=0.667,X[17,33]=0.373,X[18,33]=0.333,X[19,33]=0.376,X[20,33]=0.498,X[21,33]=0.427,X[22,33]=0.388,X[23,33]=0.506,X[24,33]=0.647,X[25,33]=0.439,X[26,33]=0.675,X[27,33]=0.561,X[28,33]=0.639,X[29,33]=0.690,X[30,33]=0.620,X[31,33]=0.671,X[32,33]=0.510,X[33,33]=0.522,X[34,33]=0.259,X[35,33]=0.365,X[36,33]=0.361,X[37,33]=0.510,X[38,33]=0.490,X[39,33]=0.533,X[40,33]=0.463,X[41,33]=0.380,X[42,33]=0.478,X[43,33]=0.384,X[44,33]=0.576,X[45,33]=0.451,X[46,33]=0.420,X[47,33]=0.322,X[48,33]=0.412,X[49,33]=0.541,X[50,33]=0.655 X[51,33]=0.341,X[52,33]=0.365,X[53,33]=0.459,X[54,33]=0.337,X[55,33]=0.353,X[56,33]=0.396,X[57,33]=0.376,X[58,33]=0.337,X[59,33]=0.369,X[60,33]=0.353,X[61,33]=0.341,X[62,33]=0.388,X[63,33]=0.553,X[64,33]=0.733,X[65,33]=0.663,X[66,33]=0.690,X[67,33]=0.424,X[68,33]=0.337,X[69,33]=0.412,X[70,33]=0.553,X[71,33]=0.498,X[72,33]=0.384,X[73,33]=0.522,X[74,33]=0.616,X[75,33]=0.596,X[76,33]=0.522,X[77,33]=0.604,X[78,33]=0.647,X[79,33]=0.682,X[80,33]=0.624,X[81,33]=0.647,X[82,33]=0.537,X[83,33]=0.553,X[84,33]=0.376,X[85,33]=0.373,X[86,33]=0.357,X[87,33]=0.494,X[88,33]=0.420,X[89,33]=0.475,X[90,33]=0.561,X[91,33]=0.408,X[92,33]=0.459,X[93,33]=0.380,X[94,33]=0.549,X[95,33]=0.451,X[96,33]=0.510,X[97,33]=0.439,X[98,33]=0.388,X[99,33]=0.600,X[100,33]=0.620 X[1,34]=0.549,X[2,34]=0.239,X[3,34]=0.302,X[4,34]=0.310,X[5,34]=0.514,X[6,34]=0.616,X[7,34]=0.431,X[8,34]=0.373,X[9,34]=0.471,X[10,34]=0.580,X[11,34]=0.639,X[12,34]=0.627,X[13,34]=0.588,X[14,34]=0.608,X[15,34]=0.647,X[16,34]=0.737,X[17,34]=0.349,X[18,34]=0.408,X[19,34]=0.329,X[20,34]=0.361,X[21,34]=0.424,X[22,34]=0.427,X[23,34]=0.400,X[24,34]=0.490,X[25,34]=0.506,X[26,34]=0.376,X[27,34]=0.353,X[28,34]=0.502,X[29,34]=0.451,X[30,34]=0.357,X[31,34]=0.455,X[32,34]=0.506,X[33,34]=0.671,X[34,34]=0.263,X[35,34]=0.412,X[36,34]=0.514,X[37,34]=0.467,X[38,34]=0.522,X[39,34]=0.314,X[40,34]=0.341,X[41,34]=0.302,X[42,34]=0.427,X[43,34]=0.439,X[44,34]=0.482,X[45,34]=0.451,X[46,34]=0.612,X[47,34]=0.639,X[48,34]=0.353,X[49,34]=0.384,X[50,34]=0.427 X[51,34]=0.345,X[52,34]=0.290,X[53,34]=0.290,X[54,34]=0.282,X[55,34]=0.490,X[56,34]=0.510,X[57,34]=0.475,X[58,34]=0.314,X[59,34]=0.435,X[60,34]=0.584,X[61,34]=0.635,X[62,34]=0.686,X[63,34]=0.624,X[64,34]=0.600,X[65,34]=0.718,X[66,34]=0.690,X[67,34]=0.427,X[68,34]=0.376,X[69,34]=0.325,X[70,34]=0.349,X[71,34]=0.373,X[72,34]=0.376,X[73,34]=0.435,X[74,34]=0.447,X[75,34]=0.514,X[76,34]=0.376,X[77,34]=0.357,X[78,34]=0.541,X[79,34]=0.514,X[80,34]=0.341,X[81,34]=0.467,X[82,34]=0.514,X[83,34]=0.690,X[84,34]=0.373,X[85,34]=0.388,X[86,34]=0.553,X[87,34]=0.424,X[88,34]=0.553,X[89,34]=0.337,X[90,34]=0.322,X[91,34]=0.294,X[92,34]=0.475,X[93,34]=0.616,X[94,34]=0.443,X[95,34]=0.412,X[96,34]=0.357,X[97,34]=0.482,X[98,34]=0.525,X[99,34]=0.388,X[100,34]=0.447 X[1,35]=0.471,X[2,35]=0.294,X[3,35]=0.341,X[4,35]=0.373,X[5,35]=0.345,X[6,35]=0.404,X[7,35]=0.620,X[8,35]=0.616,X[9,35]=0.671,X[10,35]=0.541,X[11,35]=0.627,X[12,35]=0.663,X[13,35]=0.643,X[14,35]=0.592,X[15,35]=0.714,X[16,35]=0.698,X[17,35]=0.714,X[18,35]=0.490,X[19,35]=0.376,X[20,35]=0.388,X[21,35]=0.361,X[22,35]=0.357,X[23,35]=0.369,X[24,35]=0.349,X[25,35]=0.318,X[26,35]=0.482,X[27,35]=0.498,X[28,35]=0.451,X[29,35]=0.427,X[30,35]=0.467,X[31,35]=0.412,X[32,35]=0.416,X[33,35]=0.408,X[34,35]=0.365,X[35,35]=0.490,X[36,35]=0.345,X[37,35]=0.400,X[38,35]=0.671,X[39,35]=0.384,X[40,35]=0.573,X[41,35]=0.404,X[42,35]=0.357,X[43,35]=0.510,X[44,35]=0.498,X[45,35]=0.588,X[46,35]=0.220,X[47,35]=0.255,X[48,35]=0.580,X[49,35]=0.514,X[50,35]=0.624 X[51,35]=0.349,X[52,35]=0.365,X[53,35]=0.345,X[54,35]=0.341,X[55,35]=0.341,X[56,35]=0.463,X[57,35]=0.718,X[58,35]=0.710,X[59,35]=0.639,X[60,35]=0.490,X[61,35]=0.667,X[62,35]=0.624,X[63,35]=0.600,X[64,35]=0.561,X[65,35]=0.702,X[66,35]=0.745,X[67,35]=0.741,X[68,35]=0.435,X[69,35]=0.369,X[70,35]=0.392,X[71,35]=0.314,X[72,35]=0.357,X[73,35]=0.361,X[74,35]=0.349,X[75,35]=0.267,X[76,35]=0.400,X[77,35]=0.565,X[78,35]=0.427,X[79,35]=0.478,X[80,35]=0.459,X[81,35]=0.427,X[82,35]=0.420,X[83,35]=0.408,X[84,35]=0.322,X[85,35]=0.463,X[86,35]=0.376,X[87,35]=0.424,X[88,35]=0.604,X[89,35]=0.545,X[90,35]=0.463,X[91,35]=0.435,X[92,35]=0.349,X[93,35]=0.459,X[94,35]=0.498,X[95,35]=0.549,X[96,35]=0.345,X[97,35]=0.302,X[98,35]=0.427,X[99,35]=0.549,X[100,35]=0.663 X[1,36]=0.455,X[2,36]=0.353,X[3,36]=0.369,X[4,36]=0.416,X[5,36]=0.475,X[6,36]=0.620,X[7,36]=0.592,X[8,36]=0.427,X[9,36]=0.573,X[10,36]=0.502,X[11,36]=0.596,X[12,36]=0.643,X[13,36]=0.635,X[14,36]=0.635,X[15,36]=0.631,X[16,36]=0.745,X[17,36]=0.722,X[18,36]=0.624,X[19,36]=0.396,X[20,36]=0.322,X[21,36]=0.290,X[22,36]=0.275,X[23,36]=0.263,X[24,36]=0.282,X[25,36]=0.286,X[26,36]=0.302,X[27,36]=0.388,X[28,36]=0.439,X[29,36]=0.467,X[30,36]=0.404,X[31,36]=0.369,X[32,36]=0.333,X[33,36]=0.263,X[34,36]=0.427,X[35,36]=0.341,X[36,36]=0.404,X[37,36]=0.435,X[38,36]=0.576,X[39,36]=0.553,X[40,36]=0.510,X[41,36]=0.420,X[42,36]=0.490,X[43,36]=0.353,X[44,36]=0.518,X[45,36]=0.282,X[46,36]=0.239,X[47,36]=0.333,X[48,36]=0.518,X[49,36]=0.439,X[50,36]=0.541 X[51,36]=0.427,X[52,36]=0.345,X[53,36]=0.365,X[54,36]=0.388,X[55,36]=0.459,X[56,36]=0.569,X[57,36]=0.627,X[58,36]=0.486,X[59,36]=0.455,X[60,36]=0.494,X[61,36]=0.553,X[62,36]=0.518,X[63,36]=0.502,X[64,36]=0.553,X[65,36]=0.655,X[66,36]=0.655,X[67,36]=0.753,X[68,36]=0.604,X[69,36]=0.376,X[70,36]=0.325,X[71,36]=0.298,X[72,36]=0.282,X[73,36]=0.267,X[74,36]=0.282,X[75,36]=0.267,X[76,36]=0.345,X[77,36]=0.408,X[78,36]=0.412,X[79,36]=0.463,X[80,36]=0.416,X[81,36]=0.376,X[82,36]=0.353,X[83,36]=0.267,X[84,36]=0.337,X[85,36]=0.353,X[86,36]=0.431,X[87,36]=0.467,X[88,36]=0.471,X[89,36]=0.651,X[90,36]=0.545,X[91,36]=0.408,X[92,36]=0.443,X[93,36]=0.322,X[94,36]=0.525,X[95,36]=0.298,X[96,36]=0.353,X[97,36]=0.361,X[98,36]=0.404,X[99,36]=0.435,X[100,36]=0.576 X[1,37]=0.698,X[2,37]=0.369,X[3,37]=0.314,X[4,37]=0.482,X[5,37]=0.459,X[6,37]=0.357,X[7,37]=0.400,X[8,37]=0.361,X[9,37]=0.408,X[10,37]=0.447,X[11,37]=0.541,X[12,37]=0.549,X[13,37]=0.639,X[14,37]=0.557,X[15,37]=0.388,X[16,37]=0.624,X[17,37]=0.667,X[18,37]=0.659,X[19,37]=0.714,X[20,37]=0.392,X[21,37]=0.396,X[22,37]=0.451,X[23,37]=0.435,X[24,37]=0.443,X[25,37]=0.420,X[26,37]=0.361,X[27,37]=0.396,X[28,37]=0.353,X[29,37]=0.380,X[30,37]=0.424,X[31,37]=0.435,X[32,37]=0.400,X[33,37]=0.376,X[34,37]=0.533,X[35,37]=0.537,X[36,37]=0.459,X[37,37]=0.490,X[38,37]=0.494,X[39,37]=0.373,X[40,37]=0.443,X[41,37]=0.498,X[42,37]=0.498,X[43,37]=0.518,X[44,37]=0.392,X[45,37]=0.392,X[46,37]=0.400,X[47,37]=0.604,X[48,37]=0.349,X[49,37]=0.545,X[50,37]=0.467 X[51,37]=0.647,X[52,37]=0.329,X[53,37]=0.337,X[54,37]=0.451,X[55,37]=0.475,X[56,37]=0.376,X[57,37]=0.455,X[58,37]=0.424,X[59,37]=0.443,X[60,37]=0.459,X[61,37]=0.502,X[62,37]=0.482,X[63,37]=0.557,X[64,37]=0.537,X[65,37]=0.400,X[66,37]=0.537,X[67,37]=0.627,X[68,37]=0.659,X[69,37]=0.714,X[70,37]=0.373,X[71,37]=0.361,X[72,37]=0.443,X[73,37]=0.439,X[74,37]=0.443,X[75,37]=0.427,X[76,37]=0.412,X[77,37]=0.392,X[78,37]=0.349,X[79,37]=0.392,X[80,37]=0.376,X[81,37]=0.443,X[82,37]=0.380,X[83,37]=0.404,X[84,37]=0.482,X[85,37]=0.529,X[86,37]=0.498,X[87,37]=0.490,X[88,37]=0.424,X[89,37]=0.447,X[90,37]=0.412,X[91,37]=0.486,X[92,37]=0.537,X[93,37]=0.545,X[94,37]=0.392,X[95,37]=0.435,X[96,37]=0.443,X[97,37]=0.471,X[98,37]=0.490,X[99,37]=0.573,X[100,37]=0.545 X[1,38]=0.576,X[2,38]=0.478,X[3,38]=0.420,X[4,38]=0.490,X[5,38]=0.518,X[6,38]=0.408,X[7,38]=0.435,X[8,38]=0.431,X[9,38]=0.459,X[10,38]=0.529,X[11,38]=0.522,X[12,38]=0.588,X[13,38]=0.592,X[14,38]=0.635,X[15,38]=0.616,X[16,38]=0.525,X[17,38]=0.678,X[18,38]=0.753,X[19,38]=0.725,X[20,38]=0.608,X[21,38]=0.314,X[22,38]=0.420,X[23,38]=0.416,X[24,38]=0.663,X[25,38]=0.345,X[26,38]=0.486,X[27,38]=0.506,X[28,38]=0.604,X[29,38]=0.490,X[30,38]=0.561,X[31,38]=0.596,X[32,38]=0.380,X[33,38]=0.365,X[34,38]=0.580,X[35,38]=0.490,X[36,38]=0.467,X[37,38]=0.439,X[38,38]=0.404,X[39,38]=0.294,X[40,38]=0.467,X[41,38]=0.486,X[42,38]=0.498,X[43,38]=0.565,X[44,38]=0.502,X[45,38]=0.494,X[46,38]=0.365,X[47,38]=0.545,X[48,38]=0.624,X[49,38]=0.396,X[50,38]=0.404 X[51,38]=0.690,X[52,38]=0.365,X[53,38]=0.424,X[54,38]=0.459,X[55,38]=0.514,X[56,38]=0.475,X[57,38]=0.482,X[58,38]=0.494,X[59,38]=0.529,X[60,38]=0.545,X[61,38]=0.561,X[62,38]=0.522,X[63,38]=0.671,X[64,38]=0.620,X[65,38]=0.631,X[66,38]=0.514,X[67,38]=0.694,X[68,38]=0.741,X[69,38]=0.710,X[70,38]=0.612,X[71,38]=0.463,X[72,38]=0.333,X[73,38]=0.416,X[74,38]=0.671,X[75,38]=0.510,X[76,38]=0.443,X[77,38]=0.529,X[78,38]=0.620,X[79,38]=0.557,X[80,38]=0.612,X[81,38]=0.604,X[82,38]=0.384,X[83,38]=0.373,X[84,38]=0.545,X[85,38]=0.612,X[86,38]=0.447,X[87,38]=0.565,X[88,38]=0.400,X[89,38]=0.271,X[90,38]=0.478,X[91,38]=0.514,X[92,38]=0.478,X[93,38]=0.388,X[94,38]=0.518,X[95,38]=0.486,X[96,38]=0.463,X[97,38]=0.502,X[98,38]=0.573,X[99,38]=0.373,X[100,38]=0.490 X[1,39]=0.490,X[2,39]=0.384,X[3,39]=0.384,X[4,39]=0.345,X[5,39]=0.506,X[6,39]=0.463,X[7,39]=0.541,X[8,39]=0.506,X[9,39]=0.388,X[10,39]=0.376,X[11,39]=0.494,X[12,39]=0.514,X[13,39]=0.580,X[14,39]=0.627,X[15,39]=0.604,X[16,39]=0.643,X[17,39]=0.584,X[18,39]=0.533,X[19,39]=0.604,X[20,39]=0.561,X[21,39]=0.620,X[22,39]=0.290,X[23,39]=0.498,X[24,39]=0.584,X[25,39]=0.549,X[26,39]=0.576,X[27,39]=0.549,X[28,39]=0.706,X[29,39]=0.467,X[30,39]=0.600,X[31,39]=0.635,X[32,39]=0.302,X[33,39]=0.322,X[34,39]=0.314,X[35,39]=0.353,X[36,39]=0.388,X[37,39]=0.329,X[38,39]=0.514,X[39,39]=0.490,X[40,39]=0.384,X[41,39]=0.443,X[42,39]=0.541,X[43,39]=0.357,X[44,39]=0.302,X[45,39]=0.392,X[46,39]=0.533,X[47,39]=0.592,X[48,39]=0.345,X[49,39]=0.439,X[50,39]=0.420 X[51,39]=0.443,X[52,39]=0.400,X[53,39]=0.384,X[54,39]=0.353,X[55,39]=0.486,X[56,39]=0.455,X[57,39]=0.498,X[58,39]=0.471,X[59,39]=0.427,X[60,39]=0.380,X[61,39]=0.518,X[62,39]=0.569,X[63,39]=0.482,X[64,39]=0.612,X[65,39]=0.620,X[66,39]=0.573,X[67,39]=0.596,X[68,39]=0.553,X[69,39]=0.596,X[70,39]=0.553,X[71,39]=0.624,X[72,39]=0.322,X[73,39]=0.510,X[74,39]=0.608,X[75,39]=0.675,X[76,39]=0.529,X[77,39]=0.561,X[78,39]=0.678,X[79,39]=0.580,X[80,39]=0.565,X[81,39]=0.667,X[82,39]=0.286,X[83,39]=0.314,X[84,39]=0.329,X[85,39]=0.322,X[86,39]=0.400,X[87,39]=0.361,X[88,39]=0.482,X[89,39]=0.533,X[90,39]=0.388,X[91,39]=0.463,X[92,39]=0.533,X[93,39]=0.455,X[94,39]=0.341,X[95,39]=0.459,X[96,39]=0.557,X[97,39]=0.459,X[98,39]=0.467,X[99,39]=0.427,X[100,39]=0.392 X[1,40]=0.376,X[2,40]=0.435,X[3,40]=0.365,X[4,40]=0.353,X[5,40]=0.424,X[6,40]=0.400,X[7,40]=0.482,X[8,40]=0.494,X[9,40]=0.545,X[10,40]=0.435,X[11,40]=0.373,X[12,40]=0.396,X[13,40]=0.588,X[14,40]=0.522,X[15,40]=0.510,X[16,40]=0.698,X[17,40]=0.675,X[18,40]=0.565,X[19,40]=0.667,X[20,40]=0.557,X[21,40]=0.718,X[22,40]=0.294,X[23,40]=0.353,X[24,40]=0.498,X[25,40]=0.627,X[26,40]=0.518,X[27,40]=0.435,X[28,40]=0.678,X[29,40]=0.486,X[30,40]=0.486,X[31,40]=0.612,X[32,40]=0.251,X[33,40]=0.278,X[34,40]=0.259,X[35,40]=0.282,X[36,40]=0.278,X[37,40]=0.302,X[38,40]=0.412,X[39,40]=0.553,X[40,40]=0.392,X[41,40]=0.482,X[42,40]=0.592,X[43,40]=0.392,X[44,40]=0.314,X[45,40]=0.282,X[46,40]=0.329,X[47,40]=0.443,X[48,40]=0.306,X[49,40]=0.267,X[50,40]=0.314 X[51,40]=0.431,X[52,40]=0.400,X[53,40]=0.369,X[54,40]=0.349,X[55,40]=0.420,X[56,40]=0.396,X[57,40]=0.471,X[58,40]=0.467,X[59,40]=0.478,X[60,40]=0.431,X[61,40]=0.384,X[62,40]=0.506,X[63,40]=0.431,X[64,40]=0.502,X[65,40]=0.533,X[66,40]=0.635,X[67,40]=0.659,X[68,40]=0.565,X[69,40]=0.655,X[70,40]=0.561,X[71,40]=0.631,X[72,40]=0.400,X[73,40]=0.408,X[74,40]=0.541,X[75,40]=0.561,X[76,40]=0.475,X[77,40]=0.420,X[78,40]=0.725,X[79,40]=0.671,X[80,40]=0.486,X[81,40]=0.651,X[82,40]=0.255,X[83,40]=0.267,X[84,40]=0.235,X[85,40]=0.247,X[86,40]=0.271,X[87,40]=0.302,X[88,40]=0.420,X[89,40]=0.565,X[90,40]=0.431,X[91,40]=0.494,X[92,40]=0.600,X[93,40]=0.522,X[94,40]=0.310,X[95,40]=0.337,X[96,40]=0.427,X[97,40]=0.373,X[98,40]=0.404,X[99,40]=0.278,X[100,40]=0.322 X[1,41]=0.604,X[2,41]=0.537,X[3,41]=0.392,X[4,41]=0.341,X[5,41]=0.408,X[6,41]=0.459,X[7,41]=0.392,X[8,41]=0.365,X[9,41]=0.455,X[10,41]=0.518,X[11,41]=0.580,X[12,41]=0.373,X[13,41]=0.412,X[14,41]=0.494,X[15,41]=0.467,X[16,41]=0.643,X[17,41]=0.592,X[18,41]=0.494,X[19,41]=0.624,X[20,41]=0.667,X[21,41]=0.686,X[22,41]=0.667,X[23,41]=0.255,X[24,41]=0.380,X[25,41]=0.353,X[26,41]=0.424,X[27,41]=0.439,X[28,41]=0.506,X[29,41]=0.510,X[30,41]=0.580,X[31,41]=0.565,X[32,41]=0.263,X[33,41]=0.376,X[34,41]=0.396,X[35,41]=0.455,X[36,41]=0.592,X[37,41]=0.698,X[38,41]=0.682,X[39,41]=0.522,X[40,41]=0.376,X[41,41]=0.345,X[42,41]=0.278,X[43,41]=0.322,X[44,41]=0.325,X[45,41]=0.345,X[46,41]=0.376,X[47,41]=0.392,X[48,41]=0.525,X[49,41]=0.718,X[50,41]=0.380 X[51,41]=0.643,X[52,41]=0.435,X[53,41]=0.384,X[54,41]=0.373,X[55,41]=0.404,X[56,41]=0.392,X[57,41]=0.467,X[58,41]=0.459,X[59,41]=0.443,X[60,41]=0.494,X[61,41]=0.541,X[62,41]=0.447,X[63,41]=0.384,X[64,41]=0.486,X[65,41]=0.455,X[66,41]=0.529,X[67,41]=0.576,X[68,41]=0.486,X[69,41]=0.604,X[70,41]=0.624,X[71,41]=0.675,X[72,41]=0.612,X[73,41]=0.259,X[74,41]=0.396,X[75,41]=0.337,X[76,41]=0.553,X[77,41]=0.420,X[78,41]=0.545,X[79,41]=0.529,X[80,41]=0.647,X[81,41]=0.478,X[82,41]=0.263,X[83,41]=0.380,X[84,41]=0.380,X[85,41]=0.384,X[86,41]=0.584,X[87,41]=0.694,X[88,41]=0.671,X[89,41]=0.624,X[90,41]=0.427,X[91,41]=0.333,X[92,41]=0.275,X[93,41]=0.282,X[94,41]=0.329,X[95,41]=0.353,X[96,41]=0.376,X[97,41]=0.396,X[98,41]=0.412,X[99,41]=0.698,X[100,41]=0.380 X[1,42]=0.690,X[2,42]=0.561,X[3,42]=0.447,X[4,42]=0.431,X[5,42]=0.361,X[6,42]=0.435,X[7,42]=0.518,X[8,42]=0.675,X[9,42]=0.541,X[10,42]=0.631,X[11,42]=0.537,X[12,42]=0.569,X[13,42]=0.424,X[14,42]=0.478,X[15,42]=0.518,X[16,42]=0.361,X[17,42]=0.408,X[18,42]=0.455,X[19,42]=0.549,X[20,42]=0.580,X[21,42]=0.475,X[22,42]=0.275,X[23,42]=0.286,X[24,42]=0.231,X[25,42]=0.349,X[26,42]=0.424,X[27,42]=0.427,X[28,42]=0.525,X[29,42]=0.486,X[30,42]=0.459,X[31,42]=0.333,X[32,42]=0.282,X[33,42]=0.490,X[34,42]=0.506,X[35,42]=0.522,X[36,42]=0.588,X[37,42]=0.502,X[38,42]=0.600,X[39,42]=0.675,X[40,42]=0.592,X[41,42]=0.647,X[42,42]=0.733,X[43,42]=0.749,X[44,42]=0.694,X[45,42]=0.569,X[46,42]=0.749,X[47,42]=0.667,X[48,42]=0.396,X[49,42]=0.604,X[50,42]=0.733 X[51,42]=0.698,X[52,42]=0.620,X[53,42]=0.494,X[54,42]=0.388,X[55,42]=0.384,X[56,42]=0.584,X[57,42]=0.549,X[58,42]=0.518,X[59,42]=0.553,X[60,42]=0.616,X[61,42]=0.490,X[62,42]=0.502,X[63,42]=0.475,X[64,42]=0.439,X[65,42]=0.396,X[66,42]=0.333,X[67,42]=0.322,X[68,42]=0.467,X[69,42]=0.580,X[70,42]=0.608,X[71,42]=0.522,X[72,42]=0.439,X[73,42]=0.286,X[74,42]=0.235,X[75,42]=0.353,X[76,42]=0.416,X[77,42]=0.435,X[78,42]=0.537,X[79,42]=0.443,X[80,42]=0.392,X[81,42]=0.322,X[82,42]=0.290,X[83,42]=0.510,X[84,42]=0.608,X[85,42]=0.510,X[86,42]=0.655,X[87,42]=0.506,X[88,42]=0.600,X[89,42]=0.624,X[90,42]=0.663,X[91,42]=0.655,X[92,42]=0.737,X[93,42]=0.718,X[94,42]=0.706,X[95,42]=0.580,X[96,42]=0.694,X[97,42]=0.718,X[98,42]=0.349,X[99,42]=0.651,X[100,42]=0.741 X[1,43]=0.396,X[2,43]=0.663,X[3,43]=0.565,X[4,43]=0.482,X[5,43]=0.325,X[6,43]=0.365,X[7,43]=0.412,X[8,43]=0.439,X[9,43]=0.310,X[10,43]=0.298,X[11,43]=0.400,X[12,43]=0.373,X[13,43]=0.459,X[14,43]=0.416,X[15,43]=0.624,X[16,43]=0.561,X[17,43]=0.600,X[18,43]=0.525,X[19,43]=0.584,X[20,43]=0.447,X[21,43]=0.486,X[22,43]=0.365,X[23,43]=0.369,X[24,43]=0.345,X[25,43]=0.384,X[26,43]=0.376,X[27,43]=0.400,X[28,43]=0.416,X[29,43]=0.416,X[30,43]=0.380,X[31,43]=0.396,X[32,43]=0.329,X[33,43]=0.518,X[34,43]=0.573,X[35,43]=0.553,X[36,43]=0.627,X[37,43]=0.663,X[38,43]=0.576,X[39,43]=0.514,X[40,43]=0.616,X[41,43]=0.541,X[42,43]=0.518,X[43,43]=0.678,X[44,43]=0.675,X[45,43]=0.686,X[46,43]=0.608,X[47,43]=0.502,X[48,43]=0.294,X[49,43]=0.455,X[50,43]=0.518 X[51,43]=0.690,X[52,43]=0.725,X[53,43]=0.651,X[54,43]=0.475,X[55,43]=0.369,X[56,43]=0.416,X[57,43]=0.404,X[58,43]=0.290,X[59,43]=0.431,X[60,43]=0.271,X[61,43]=0.420,X[62,43]=0.463,X[63,43]=0.510,X[64,43]=0.365,X[65,43]=0.412,X[66,43]=0.557,X[67,43]=0.455,X[68,43]=0.475,X[69,43]=0.459,X[70,43]=0.404,X[71,43]=0.514,X[72,43]=0.361,X[73,43]=0.337,X[74,43]=0.337,X[75,43]=0.357,X[76,43]=0.420,X[77,43]=0.427,X[78,43]=0.388,X[79,43]=0.365,X[80,43]=0.384,X[81,43]=0.400,X[82,43]=0.376,X[83,43]=0.569,X[84,43]=0.580,X[85,43]=0.498,X[86,43]=0.514,X[87,43]=0.620,X[88,43]=0.643,X[89,43]=0.545,X[90,43]=0.541,X[91,43]=0.541,X[92,43]=0.553,X[93,43]=0.549,X[94,43]=0.643,X[95,43]=0.675,X[96,43]=0.627,X[97,43]=0.471,X[98,43]=0.314,X[99,43]=0.510,X[100,43]=0.408 X[1,44]=0.710,X[2,44]=0.722,X[3,44]=0.620,X[4,44]=0.416,X[5,44]=0.412,X[6,44]=0.439,X[7,44]=0.365,X[8,44]=0.467,X[9,44]=0.471,X[10,44]=0.443,X[11,44]=0.506,X[12,44]=0.494,X[13,44]=0.498,X[14,44]=0.514,X[15,44]=0.655,X[16,44]=0.545,X[17,44]=0.612,X[18,44]=0.522,X[19,44]=0.659,X[20,44]=0.463,X[21,44]=0.396,X[22,44]=0.478,X[23,44]=0.506,X[24,44]=0.506,X[25,44]=0.545,X[26,44]=0.525,X[27,44]=0.592,X[28,44]=0.478,X[29,44]=0.824,X[30,44]=0.584,X[31,44]=0.710,X[32,44]=0.294,X[33,44]=0.400,X[34,44]=0.455,X[35,44]=0.408,X[36,44]=0.502,X[37,44]=0.569,X[38,44]=0.553,X[39,44]=0.714,X[40,44]=0.576,X[41,44]=0.651,X[42,44]=0.506,X[43,44]=0.627,X[44,44]=0.722,X[45,44]=0.612,X[46,44]=0.635,X[47,44]=0.675,X[48,44]=0.392,X[49,44]=0.553,X[50,44]=0.757 X[51,44]=0.757,X[52,44]=0.686,X[53,44]=0.647,X[54,44]=0.439,X[55,44]=0.467,X[56,44]=0.475,X[57,44]=0.482,X[58,44]=0.424,X[59,44]=0.463,X[60,44]=0.384,X[61,44]=0.365,X[62,44]=0.459,X[63,44]=0.553,X[64,44]=0.388,X[65,44]=0.506,X[66,44]=0.584,X[67,44]=0.463,X[68,44]=0.384,X[69,44]=0.443,X[70,44]=0.290,X[71,44]=0.384,X[72,44]=0.498,X[73,44]=0.490,X[74,44]=0.545,X[75,44]=0.498,X[76,44]=0.427,X[77,44]=0.576,X[78,44]=0.341,X[79,44]=0.475,X[80,44]=0.494,X[81,44]=0.651,X[82,44]=0.482,X[83,44]=0.478,X[84,44]=0.369,X[85,44]=0.459,X[86,44]=0.322,X[87,44]=0.522,X[88,44]=0.600,X[89,44]=0.541,X[90,44]=0.471,X[91,44]=0.659,X[92,44]=0.502,X[93,44]=0.522,X[94,44]=0.506,X[95,44]=0.498,X[96,44]=0.545,X[97,44]=0.588,X[98,44]=0.494,X[99,44]=0.635,X[100,44]=0.639 X[1,45]=0.533,X[2,45]=0.478,X[3,45]=0.380,X[4,45]=0.396,X[5,45]=0.302,X[6,45]=0.337,X[7,45]=0.541,X[8,45]=0.392,X[9,45]=0.463,X[10,45]=0.329,X[11,45]=0.435,X[12,45]=0.388,X[13,45]=0.506,X[14,45]=0.380,X[15,45]=0.333,X[16,45]=0.239,X[17,45]=0.255,X[18,45]=0.247,X[19,45]=0.588,X[20,45]=0.463,X[21,45]=0.455,X[22,45]=0.525,X[23,45]=0.459,X[24,45]=0.537,X[25,45]=0.635,X[26,45]=0.467,X[27,45]=0.431,X[28,45]=0.565,X[29,45]=0.643,X[30,45]=0.694,X[31,45]=0.608,X[32,45]=0.345,X[33,45]=0.475,X[34,45]=0.420,X[35,45]=0.561,X[36,45]=0.580,X[37,45]=0.482,X[38,45]=0.455,X[39,45]=0.541,X[40,45]=0.569,X[41,45]=0.490,X[42,45]=0.455,X[43,45]=0.529,X[44,45]=0.596,X[45,45]=0.663,X[46,45]=0.643,X[47,45]=0.631,X[48,45]=0.247,X[49,45]=0.392,X[50,45]=0.529 X[51,45]=0.486,X[52,45]=0.471,X[53,45]=0.443,X[54,45]=0.431,X[55,45]=0.329,X[56,45]=0.424,X[57,45]=0.361,X[58,45]=0.306,X[59,45]=0.471,X[60,45]=0.310,X[61,45]=0.486,X[62,45]=0.459,X[63,45]=0.537,X[64,45]=0.353,X[65,45]=0.333,X[66,45]=0.247,X[67,45]=0.235,X[68,45]=0.247,X[69,45]=0.639,X[70,45]=0.647,X[71,45]=0.667,X[72,45]=0.667,X[73,45]=0.431,X[74,45]=0.580,X[75,45]=0.596,X[76,45]=0.553,X[77,45]=0.451,X[78,45]=0.565,X[79,45]=0.635,X[80,45]=0.663,X[81,45]=0.561,X[82,45]=0.380,X[83,45]=0.439,X[84,45]=0.463,X[85,45]=0.588,X[86,45]=0.573,X[87,45]=0.490,X[88,45]=0.435,X[89,45]=0.482,X[90,45]=0.518,X[91,45]=0.510,X[92,45]=0.490,X[93,45]=0.459,X[94,45]=0.604,X[95,45]=0.655,X[96,45]=0.690,X[97,45]=0.675,X[98,45]=0.357,X[99,45]=0.561,X[100,45]=0.569 X[1,46]=0.322,X[2,46]=0.349,X[3,46]=0.380,X[4,46]=0.302,X[5,46]=0.353,X[6,46]=0.314,X[7,46]=0.282,X[8,46]=0.259,X[9,46]=0.227,X[10,46]=0.259,X[11,46]=0.271,X[12,46]=0.263,X[13,46]=0.302,X[14,46]=0.322,X[15,46]=0.290,X[16,46]=0.314,X[17,46]=0.373,X[18,46]=0.651,X[19,46]=0.392,X[20,46]=0.549,X[21,46]=0.431,X[22,46]=0.533,X[23,46]=0.510,X[24,46]=0.314,X[25,46]=0.545,X[26,46]=0.580,X[27,46]=0.341,X[28,46]=0.451,X[29,46]=0.431,X[30,46]=0.431,X[31,46]=0.557,X[32,46]=0.349,X[33,46]=0.455,X[34,46]=0.325,X[35,46]=0.365,X[36,46]=0.502,X[37,46]=0.569,X[38,46]=0.498,X[39,46]=0.475,X[40,46]=0.639,X[41,46]=0.478,X[42,46]=0.510,X[43,46]=0.573,X[44,46]=0.639,X[45,46]=0.608,X[46,46]=0.525,X[47,46]=0.690,X[48,46]=0.298,X[49,46]=0.278,X[50,46]=0.263 X[51,46]=0.353,X[52,46]=0.361,X[53,46]=0.380,X[54,46]=0.306,X[55,46]=0.337,X[56,46]=0.310,X[57,46]=0.427,X[58,46]=0.290,X[59,46]=0.227,X[60,46]=0.271,X[61,46]=0.271,X[62,46]=0.255,X[63,46]=0.286,X[64,46]=0.325,X[65,46]=0.298,X[66,46]=0.337,X[67,46]=0.275,X[68,46]=0.678,X[69,46]=0.388,X[70,46]=0.553,X[71,46]=0.471,X[72,46]=0.455,X[73,46]=0.486,X[74,46]=0.369,X[75,46]=0.345,X[76,46]=0.467,X[77,46]=0.306,X[78,46]=0.424,X[79,46]=0.490,X[80,46]=0.314,X[81,46]=0.510,X[82,46]=0.376,X[83,46]=0.443,X[84,46]=0.345,X[85,46]=0.345,X[86,46]=0.525,X[87,46]=0.533,X[88,46]=0.490,X[89,46]=0.549,X[90,46]=0.659,X[91,46]=0.506,X[92,46]=0.518,X[93,46]=0.573,X[94,46]=0.663,X[95,46]=0.580,X[96,46]=0.435,X[97,46]=0.667,X[98,46]=0.271,X[99,46]=0.267,X[100,46]=0.267 X[1,47]=0.565,X[2,47]=0.639,X[3,47]=0.486,X[4,47]=0.659,X[5,47]=0.600,X[6,47]=0.498,X[7,47]=0.439,X[8,47]=0.435,X[9,47]=0.396,X[10,47]=0.388,X[11,47]=0.404,X[12,47]=0.365,X[13,47]=0.341,X[14,47]=0.416,X[15,47]=0.573,X[16,47]=0.682,X[17,47]=0.569,X[18,47]=0.525,X[19,47]=0.486,X[20,47]=0.333,X[21,47]=0.361,X[22,47]=0.353,X[23,47]=0.369,X[24,47]=0.353,X[25,47]=0.216,X[26,47]=0.388,X[27,47]=0.349,X[28,47]=0.263,X[29,47]=0.318,X[30,47]=0.710,X[31,47]=0.467,X[32,47]=0.314,X[33,47]=0.365,X[34,47]=0.322,X[35,47]=0.357,X[36,47]=0.380,X[37,47]=0.678,X[38,47]=0.396,X[39,47]=0.573,X[40,47]=0.443,X[41,47]=0.475,X[42,47]=0.600,X[43,47]=0.431,X[44,47]=0.490,X[45,47]=0.627,X[46,47]=0.431,X[47,47]=0.663,X[48,47]=0.686,X[49,47]=0.522,X[50,47]=0.698 X[51,47]=0.675,X[52,47]=0.643,X[53,47]=0.541,X[54,47]=0.616,X[55,47]=0.635,X[56,47]=0.412,X[57,47]=0.533,X[58,47]=0.443,X[59,47]=0.392,X[60,47]=0.392,X[61,47]=0.404,X[62,47]=0.353,X[63,47]=0.337,X[64,47]=0.396,X[65,47]=0.584,X[66,47]=0.671,X[67,47]=0.604,X[68,47]=0.490,X[69,47]=0.463,X[70,47]=0.290,X[71,47]=0.365,X[72,47]=0.439,X[73,47]=0.373,X[74,47]=0.365,X[75,47]=0.490,X[76,47]=0.220,X[77,47]=0.325,X[78,47]=0.247,X[79,47]=0.318,X[80,47]=0.545,X[81,47]=0.416,X[82,47]=0.345,X[83,47]=0.369,X[84,47]=0.349,X[85,47]=0.376,X[86,47]=0.369,X[87,47]=0.686,X[88,47]=0.376,X[89,47]=0.643,X[90,47]=0.545,X[91,47]=0.522,X[92,47]=0.612,X[93,47]=0.510,X[94,47]=0.475,X[95,47]=0.592,X[96,47]=0.510,X[97,47]=0.745,X[98,47]=0.573,X[99,47]=0.514,X[100,47]=0.706 X[1,48]=0.522,X[2,48]=0.655,X[3,48]=0.698,X[4,48]=0.706,X[5,48]=0.729,X[6,48]=0.694,X[7,48]=0.678,X[8,48]=0.667,X[9,48]=0.639,X[10,48]=0.533,X[11,48]=0.498,X[12,48]=0.357,X[13,48]=0.341,X[14,48]=0.365,X[15,48]=0.361,X[16,48]=0.490,X[17,48]=0.518,X[18,48]=0.400,X[19,48]=0.416,X[20,48]=0.427,X[21,48]=0.455,X[22,48]=0.396,X[23,48]=0.396,X[24,48]=0.271,X[25,48]=0.486,X[26,48]=0.431,X[27,48]=0.357,X[28,48]=0.459,X[29,48]=0.482,X[30,48]=0.624,X[31,48]=0.329,X[32,48]=0.337,X[33,48]=0.522,X[34,48]=0.365,X[35,48]=0.431,X[36,48]=0.416,X[37,48]=0.329,X[38,48]=0.569,X[39,48]=0.365,X[40,48]=0.596,X[41,48]=0.357,X[42,48]=0.416,X[43,48]=0.345,X[44,48]=0.384,X[45,48]=0.514,X[46,48]=0.565,X[47,48]=0.451,X[48,48]=0.714,X[49,48]=0.706,X[50,48]=0.561 X[51,48]=0.596,X[52,48]=0.667,X[53,48]=0.655,X[54,48]=0.718,X[55,48]=0.737,X[56,48]=0.663,X[57,48]=0.675,X[58,48]=0.624,X[59,48]=0.698,X[60,48]=0.502,X[61,48]=0.510,X[62,48]=0.471,X[63,48]=0.361,X[64,48]=0.365,X[65,48]=0.392,X[66,48]=0.400,X[67,48]=0.455,X[68,48]=0.388,X[69,48]=0.404,X[70,48]=0.486,X[71,48]=0.482,X[72,48]=0.443,X[73,48]=0.373,X[74,48]=0.282,X[75,48]=0.455,X[76,48]=0.373,X[77,48]=0.337,X[78,48]=0.478,X[79,48]=0.463,X[80,48]=0.545,X[81,48]=0.318,X[82,48]=0.392,X[83,48]=0.549,X[84,48]=0.451,X[85,48]=0.290,X[86,48]=0.435,X[87,48]=0.278,X[88,48]=0.424,X[89,48]=0.592,X[90,48]=0.561,X[91,48]=0.302,X[92,48]=0.459,X[93,48]=0.416,X[94,48]=0.404,X[95,48]=0.506,X[96,48]=0.506,X[97,48]=0.580,X[98,48]=0.467,X[99,48]=0.667,X[100,48]=0.525 X[1,49]=0.573,X[2,49]=0.643,X[3,49]=0.761,X[4,49]=0.565,X[5,49]=0.631,X[6,49]=0.620,X[7,49]=0.631,X[8,49]=0.678,X[9,49]=0.780,X[10,49]=0.698,X[11,49]=0.698,X[12,49]=0.376,X[13,49]=0.333,X[14,49]=0.341,X[15,49]=0.376,X[16,49]=0.557,X[17,49]=0.561,X[18,49]=0.510,X[19,49]=0.392,X[20,49]=0.416,X[21,49]=0.412,X[22,49]=0.200,X[23,49]=0.349,X[24,49]=0.302,X[25,49]=0.345,X[26,49]=0.306,X[27,49]=0.318,X[28,49]=0.522,X[29,49]=0.569,X[30,49]=0.694,X[31,49]=0.318,X[32,49]=0.341,X[33,49]=0.451,X[34,49]=0.584,X[35,49]=0.341,X[36,49]=0.396,X[37,49]=0.282,X[38,49]=0.490,X[39,49]=0.427,X[40,49]=0.686,X[41,49]=0.663,X[42,49]=0.451,X[43,49]=0.588,X[44,49]=0.584,X[45,49]=0.522,X[46,49]=0.569,X[47,49]=0.357,X[48,49]=0.596,X[49,49]=0.745,X[50,49]=0.631 X[51,49]=0.686,X[52,49]=0.749,X[53,49]=0.757,X[54,49]=0.588,X[55,49]=0.647,X[56,49]=0.667,X[57,49]=0.710,X[58,49]=0.631,X[59,49]=0.702,X[60,49]=0.690,X[61,49]=0.706,X[62,49]=0.667,X[63,49]=0.373,X[64,49]=0.314,X[65,49]=0.416,X[66,49]=0.384,X[67,49]=0.541,X[68,49]=0.494,X[69,49]=0.388,X[70,49]=0.427,X[71,49]=0.333,X[72,49]=0.341,X[73,49]=0.325,X[74,49]=0.286,X[75,49]=0.286,X[76,49]=0.427,X[77,49]=0.286,X[78,49]=0.510,X[79,49]=0.569,X[80,49]=0.659,X[81,49]=0.318,X[82,49]=0.365,X[83,49]=0.459,X[84,49]=0.553,X[85,49]=0.420,X[86,49]=0.416,X[87,49]=0.282,X[88,49]=0.498,X[89,49]=0.616,X[90,49]=0.573,X[91,49]=0.643,X[92,49]=0.494,X[93,49]=0.514,X[94,49]=0.549,X[95,49]=0.518,X[96,49]=0.522,X[97,49]=0.584,X[98,49]=0.384,X[99,49]=0.722,X[100,49]=0.624 X[1,50]=0.498,X[2,50]=0.506,X[3,50]=0.624,X[4,50]=0.737,X[5,50]=0.631,X[6,50]=0.682,X[7,50]=0.667,X[8,50]=0.663,X[9,50]=0.725,X[10,50]=0.710,X[11,50]=0.733,X[12,50]=0.620,X[13,50]=0.341,X[14,50]=0.325,X[15,50]=0.341,X[16,50]=0.357,X[17,50]=0.357,X[18,50]=0.239,X[19,50]=0.424,X[20,50]=0.459,X[21,50]=0.416,X[22,50]=0.576,X[23,50]=0.369,X[24,50]=0.498,X[25,50]=0.416,X[26,50]=0.455,X[27,50]=0.388,X[28,50]=0.478,X[29,50]=0.537,X[30,50]=0.635,X[31,50]=0.373,X[32,50]=0.337,X[33,50]=0.420,X[34,50]=0.475,X[35,50]=0.467,X[36,50]=0.584,X[37,50]=0.333,X[38,50]=0.549,X[39,50]=0.435,X[40,50]=0.588,X[41,50]=0.416,X[42,50]=0.463,X[43,50]=0.561,X[44,50]=0.541,X[45,50]=0.604,X[46,50]=0.624,X[47,50]=0.235,X[48,50]=0.357,X[49,50]=0.494,X[50,50]=0.616 X[51,50]=0.541,X[52,50]=0.600,X[53,50]=0.694,X[54,50]=0.745,X[55,50]=0.663,X[56,50]=0.733,X[57,50]=0.710,X[58,50]=0.631,X[59,50]=0.698,X[60,50]=0.663,X[61,50]=0.702,X[62,50]=0.737,X[63,50]=0.361,X[64,50]=0.333,X[65,50]=0.353,X[66,50]=0.306,X[67,50]=0.486,X[68,50]=0.220,X[69,50]=0.435,X[70,50]=0.510,X[71,50]=0.529,X[72,50]=0.467,X[73,50]=0.365,X[74,50]=0.490,X[75,50]=0.475,X[76,50]=0.388,X[77,50]=0.408,X[78,50]=0.498,X[79,50]=0.455,X[80,50]=0.643,X[81,50]=0.329,X[82,50]=0.357,X[83,50]=0.388,X[84,50]=0.431,X[85,50]=0.537,X[86,50]=0.592,X[87,50]=0.314,X[88,50]=0.427,X[89,50]=0.498,X[90,50]=0.651,X[91,50]=0.376,X[92,50]=0.467,X[93,50]=0.557,X[94,50]=0.553,X[95,50]=0.549,X[96,50]=0.588,X[97,50]=0.549,X[98,50]=0.275,X[99,50]=0.514,X[100,50]=0.592 X[1,51]=0.420,X[2,51]=0.420,X[3,51]=0.580,X[4,51]=0.631,X[5,51]=0.722,X[6,51]=0.659,X[7,51]=0.525,X[8,51]=0.573,X[9,51]=0.608,X[10,51]=0.659,X[11,51]=0.667,X[12,51]=0.671,X[13,51]=0.404,X[14,51]=0.373,X[15,51]=0.337,X[16,51]=0.384,X[17,51]=0.357,X[18,51]=0.455,X[19,51]=0.510,X[20,51]=0.239,X[21,51]=0.306,X[22,51]=0.455,X[23,51]=0.427,X[24,51]=0.463,X[25,51]=0.357,X[26,51]=0.369,X[27,51]=0.369,X[28,51]=0.420,X[29,51]=0.471,X[30,51]=0.710,X[31,51]=0.435,X[32,51]=0.400,X[33,51]=0.404,X[34,51]=0.463,X[35,51]=0.600,X[36,51]=0.518,X[37,51]=0.349,X[38,51]=0.341,X[39,51]=0.498,X[40,51]=0.624,X[41,51]=0.498,X[42,51]=0.612,X[43,51]=0.537,X[44,51]=0.451,X[45,51]=0.369,X[46,51]=0.518,X[47,51]=0.369,X[48,51]=0.404,X[49,51]=0.439,X[50,51]=0.451 X[51,51]=0.478,X[52,51]=0.525,X[53,51]=0.541,X[54,51]=0.604,X[55,51]=0.729,X[56,51]=0.600,X[57,51]=0.639,X[58,51]=0.612,X[59,51]=0.647,X[60,51]=0.651,X[61,51]=0.702,X[62,51]=0.757,X[63,51]=0.427,X[64,51]=0.376,X[65,51]=0.333,X[66,51]=0.322,X[67,51]=0.388,X[68,51]=0.482,X[69,51]=0.514,X[70,51]=0.235,X[71,51]=0.290,X[72,51]=0.435,X[73,51]=0.435,X[74,51]=0.475,X[75,51]=0.510,X[76,51]=0.294,X[77,51]=0.392,X[78,51]=0.431,X[79,51]=0.435,X[80,51]=0.541,X[81,51]=0.388,X[82,51]=0.431,X[83,51]=0.369,X[84,51]=0.404,X[85,51]=0.537,X[86,51]=0.514,X[87,51]=0.369,X[88,51]=0.345,X[89,51]=0.416,X[90,51]=0.490,X[91,51]=0.494,X[92,51]=0.616,X[93,51]=0.490,X[94,51]=0.408,X[95,51]=0.420,X[96,51]=0.502,X[97,51]=0.478,X[98,51]=0.435,X[99,51]=0.420,X[100,51]=0.435 X[1,52]=0.545,X[2,52]=0.318,X[3,52]=0.361,X[4,52]=0.459,X[5,52]=0.604,X[6,52]=0.475,X[7,52]=0.608,X[8,52]=0.471,X[9,52]=0.510,X[10,52]=0.584,X[11,52]=0.341,X[12,52]=0.392,X[13,52]=0.498,X[14,52]=0.557,X[15,52]=0.439,X[16,52]=0.318,X[17,52]=0.498,X[18,52]=0.478,X[19,52]=0.329,X[20,52]=0.204,X[21,52]=0.275,X[22,52]=0.608,X[23,52]=0.294,X[24,52]=0.416,X[25,52]=0.376,X[26,52]=0.439,X[27,52]=0.353,X[28,52]=0.251,X[29,52]=0.486,X[30,52]=0.565,X[31,52]=0.424,X[32,52]=0.263,X[33,52]=0.357,X[34,52]=0.345,X[35,52]=0.439,X[36,52]=0.357,X[37,52]=0.451,X[38,52]=0.412,X[39,52]=0.471,X[40,52]=0.580,X[41,52]=0.416,X[42,52]=0.580,X[43,52]=0.533,X[44,52]=0.671,X[45,52]=0.671,X[46,52]=0.627,X[47,52]=0.329,X[48,52]=0.518,X[49,52]=0.486,X[50,52]=0.718 X[51,52]=0.435,X[52,52]=0.286,X[53,52]=0.353,X[54,52]=0.490,X[55,52]=0.588,X[56,52]=0.573,X[57,52]=0.604,X[58,52]=0.486,X[59,52]=0.537,X[60,52]=0.600,X[61,52]=0.322,X[62,52]=0.345,X[63,52]=0.435,X[64,52]=0.533,X[65,52]=0.447,X[66,52]=0.310,X[67,52]=0.412,X[68,52]=0.463,X[69,52]=0.318,X[70,52]=0.212,X[71,52]=0.267,X[72,52]=0.396,X[73,52]=0.349,X[74,52]=0.455,X[75,52]=0.490,X[76,52]=0.490,X[77,52]=0.333,X[78,52]=0.294,X[79,52]=0.384,X[80,52]=0.475,X[81,52]=0.380,X[82,52]=0.286,X[83,52]=0.361,X[84,52]=0.314,X[85,52]=0.431,X[86,52]=0.349,X[87,52]=0.420,X[88,52]=0.322,X[89,52]=0.388,X[90,52]=0.459,X[91,52]=0.392,X[92,52]=0.545,X[93,52]=0.357,X[94,52]=0.675,X[95,52]=0.667,X[96,52]=0.561,X[97,52]=0.302,X[98,52]=0.478,X[99,52]=0.455,X[100,52]=0.690 X[1,53]=0.612,X[2,53]=0.667,X[3,53]=0.400,X[4,53]=0.561,X[5,53]=0.427,X[6,53]=0.314,X[7,53]=0.306,X[8,53]=0.306,X[9,53]=0.314,X[10,53]=0.322,X[11,53]=0.400,X[12,53]=0.510,X[13,53]=0.443,X[14,53]=0.518,X[15,53]=0.435,X[16,53]=0.333,X[17,53]=0.322,X[18,53]=0.318,X[19,53]=0.412,X[20,53]=0.302,X[21,53]=0.369,X[22,53]=0.553,X[23,53]=0.388,X[24,53]=0.184,X[25,53]=0.235,X[26,53]=0.392,X[27,53]=0.243,X[28,53]=0.267,X[29,53]=0.196,X[30,53]=0.302,X[31,53]=0.259,X[32,53]=0.357,X[33,53]=0.247,X[34,53]=0.212,X[35,53]=0.322,X[36,53]=0.318,X[37,53]=0.380,X[38,53]=0.424,X[39,53]=0.353,X[40,53]=0.620,X[41,53]=0.451,X[42,53]=0.486,X[43,53]=0.396,X[44,53]=0.486,X[45,53]=0.600,X[46,53]=0.561,X[47,53]=0.322,X[48,53]=0.627,X[49,53]=0.525,X[50,53]=0.533 X[51,53]=0.686,X[52,53]=0.549,X[53,53]=0.439,X[54,53]=0.514,X[55,53]=0.431,X[56,53]=0.298,X[57,53]=0.439,X[58,53]=0.271,X[59,53]=0.278,X[60,53]=0.322,X[61,53]=0.396,X[62,53]=0.447,X[63,53]=0.451,X[64,53]=0.541,X[65,53]=0.455,X[66,53]=0.294,X[67,53]=0.349,X[68,53]=0.322,X[69,53]=0.384,X[70,53]=0.298,X[71,53]=0.490,X[72,53]=0.420,X[73,53]=0.416,X[74,53]=0.184,X[75,53]=0.235,X[76,53]=0.420,X[77,53]=0.227,X[78,53]=0.243,X[79,53]=0.208,X[80,53]=0.216,X[81,53]=0.243,X[82,53]=0.341,X[83,53]=0.235,X[84,53]=0.259,X[85,53]=0.251,X[86,53]=0.298,X[87,53]=0.286,X[88,53]=0.267,X[89,53]=0.302,X[90,53]=0.514,X[91,53]=0.443,X[92,53]=0.478,X[93,53]=0.337,X[94,53]=0.494,X[95,53]=0.643,X[96,53]=0.541,X[97,53]=0.341,X[98,53]=0.455,X[99,53]=0.510,X[100,53]=0.478 X[1,54]=0.400,X[2,54]=0.498,X[3,54]=0.537,X[4,54]=0.702,X[5,54]=0.718,X[6,54]=0.706,X[7,54]=0.675,X[8,54]=0.722,X[9,54]=0.741,X[10,54]=0.698,X[11,54]=0.757,X[12,54]=0.506,X[13,54]=0.376,X[14,54]=0.282,X[15,54]=0.322,X[16,54]=0.357,X[17,54]=0.404,X[18,54]=0.510,X[19,54]=0.471,X[20,54]=0.557,X[21,54]=0.263,X[22,54]=0.439,X[23,54]=0.384,X[24,54]=0.400,X[25,54]=0.384,X[26,54]=0.412,X[27,54]=0.443,X[28,54]=0.220,X[29,54]=0.353,X[30,54]=0.388,X[31,54]=0.408,X[32,54]=0.682,X[33,54]=0.647,X[34,54]=0.604,X[35,54]=0.353,X[36,54]=0.318,X[37,54]=0.298,X[38,54]=0.263,X[39,54]=0.251,X[40,54]=0.310,X[41,54]=0.333,X[42,54]=0.271,X[43,54]=0.329,X[44,54]=0.310,X[45,54]=0.337,X[46,54]=0.337,X[47,54]=0.263,X[48,54]=0.337,X[49,54]=0.424,X[50,54]=0.420 X[51,54]=0.431,X[52,54]=0.616,X[53,54]=0.522,X[54,54]=0.682,X[55,54]=0.710,X[56,54]=0.733,X[57,54]=0.694,X[58,54]=0.671,X[59,54]=0.725,X[60,54]=0.706,X[61,54]=0.753,X[62,54]=0.694,X[63,54]=0.431,X[64,54]=0.278,X[65,54]=0.306,X[66,54]=0.349,X[67,54]=0.506,X[68,54]=0.502,X[69,54]=0.498,X[70,54]=0.596,X[71,54]=0.333,X[72,54]=0.494,X[73,54]=0.408,X[74,54]=0.353,X[75,54]=0.286,X[76,54]=0.467,X[77,54]=0.463,X[78,54]=0.231,X[79,54]=0.271,X[80,54]=0.388,X[81,54]=0.455,X[82,54]=0.682,X[83,54]=0.631,X[84,54]=0.541,X[85,54]=0.525,X[86,54]=0.306,X[87,54]=0.290,X[88,54]=0.271,X[89,54]=0.231,X[90,54]=0.325,X[91,54]=0.341,X[92,54]=0.275,X[93,54]=0.267,X[94,54]=0.306,X[95,54]=0.365,X[96,54]=0.545,X[97,54]=0.329,X[98,54]=0.369,X[99,54]=0.424,X[100,54]=0.396 X[1,55]=0.588,X[2,55]=0.749,X[3,55]=0.729,X[4,55]=0.651,X[5,55]=0.518,X[6,55]=0.514,X[7,55]=0.643,X[8,55]=0.620,X[9,55]=0.616,X[10,55]=0.506,X[11,55]=0.694,X[12,55]=0.510,X[13,55]=0.392,X[14,55]=0.278,X[15,55]=0.333,X[16,55]=0.431,X[17,55]=0.514,X[18,55]=0.447,X[19,55]=0.475,X[20,55]=0.435,X[21,55]=0.506,X[22,55]=0.604,X[23,55]=0.294,X[24,55]=0.200,X[25,55]=0.243,X[26,55]=0.271,X[27,55]=0.294,X[28,55]=0.490,X[29,55]=0.671,X[30,55]=0.537,X[31,55]=0.580,X[32,55]=0.455,X[33,55]=0.490,X[34,55]=0.522,X[35,55]=0.463,X[36,55]=0.510,X[37,55]=0.541,X[38,55]=0.678,X[39,55]=0.706,X[40,55]=0.373,X[41,55]=0.373,X[42,55]=0.290,X[43,55]=0.286,X[44,55]=0.357,X[45,55]=0.475,X[46,55]=0.427,X[47,55]=0.322,X[48,55]=0.506,X[49,55]=0.533,X[50,55]=0.620 X[51,55]=0.729,X[52,55]=0.733,X[53,55]=0.690,X[54,55]=0.635,X[55,55]=0.580,X[56,55]=0.604,X[57,55]=0.651,X[58,55]=0.557,X[59,55]=0.702,X[60,55]=0.494,X[61,55]=0.729,X[62,55]=0.725,X[63,55]=0.424,X[64,55]=0.255,X[65,55]=0.357,X[66,55]=0.541,X[67,55]=0.443,X[68,55]=0.435,X[69,55]=0.427,X[70,55]=0.447,X[71,55]=0.475,X[72,55]=0.561,X[73,55]=0.322,X[74,55]=0.200,X[75,55]=0.216,X[76,55]=0.337,X[77,55]=0.310,X[78,55]=0.494,X[79,55]=0.663,X[80,55]=0.514,X[81,55]=0.541,X[82,55]=0.404,X[83,55]=0.514,X[84,55]=0.624,X[85,55]=0.416,X[86,55]=0.537,X[87,55]=0.596,X[88,55]=0.557,X[89,55]=0.765,X[90,55]=0.314,X[91,55]=0.353,X[92,55]=0.290,X[93,55]=0.286,X[94,55]=0.361,X[95,55]=0.482,X[96,55]=0.384,X[97,55]=0.369,X[98,55]=0.424,X[99,55]=0.557,X[100,55]=0.596 X[1,56]=0.459,X[2,56]=0.655,X[3,56]=0.525,X[4,56]=0.525,X[5,56]=0.506,X[6,56]=0.486,X[7,56]=0.416,X[8,56]=0.557,X[9,56]=0.459,X[10,56]=0.420,X[11,56]=0.663,X[12,56]=0.549,X[13,56]=0.416,X[14,56]=0.388,X[15,56]=0.400,X[16,56]=0.325,X[17,56]=0.396,X[18,56]=0.463,X[19,56]=0.431,X[20,56]=0.349,X[21,56]=0.478,X[22,56]=0.475,X[23,56]=0.380,X[24,56]=0.392,X[25,56]=0.569,X[26,56]=0.729,X[27,56]=0.616,X[28,56]=0.416,X[29,56]=0.412,X[30,56]=0.416,X[31,56]=0.541,X[32,56]=0.396,X[33,56]=0.529,X[34,56]=0.537,X[35,56]=0.537,X[36,56]=0.451,X[37,56]=0.545,X[38,56]=0.596,X[39,56]=0.482,X[40,56]=0.286,X[41,56]=0.373,X[42,56]=0.620,X[43,56]=0.698,X[44,56]=0.757,X[45,56]=0.682,X[46,56]=0.478,X[47,56]=0.384,X[48,56]=0.549,X[49,56]=0.643,X[50,56]=0.553 X[51,56]=0.561,X[52,56]=0.553,X[53,56]=0.514,X[54,56]=0.522,X[55,56]=0.525,X[56,56]=0.541,X[57,56]=0.518,X[58,56]=0.435,X[59,56]=0.608,X[60,56]=0.451,X[61,56]=0.631,X[62,56]=0.729,X[63,56]=0.439,X[64,56]=0.345,X[65,56]=0.427,X[66,56]=0.427,X[67,56]=0.306,X[68,56]=0.420,X[69,56]=0.376,X[70,56]=0.333,X[71,56]=0.510,X[72,56]=0.514,X[73,56]=0.396,X[74,56]=0.408,X[75,56]=0.431,X[76,56]=0.718,X[77,56]=0.616,X[78,56]=0.388,X[79,56]=0.365,X[80,56]=0.412,X[81,56]=0.545,X[82,56]=0.388,X[83,56]=0.561,X[84,56]=0.576,X[85,56]=0.592,X[86,56]=0.427,X[87,56]=0.553,X[88,56]=0.667,X[89,56]=0.400,X[90,56]=0.549,X[91,56]=0.404,X[92,56]=0.624,X[93,56]=0.600,X[94,56]=0.757,X[95,56]=0.667,X[96,56]=0.569,X[97,56]=0.380,X[98,56]=0.463,X[99,56]=0.643,X[100,56]=0.561 X[1,57]=0.553,X[2,57]=0.384,X[3,57]=0.373,X[4,57]=0.439,X[5,57]=0.671,X[6,57]=0.702,X[7,57]=0.706,X[8,57]=0.443,X[9,57]=0.506,X[10,57]=0.522,X[11,57]=0.502,X[12,57]=0.667,X[13,57]=0.427,X[14,57]=0.408,X[15,57]=0.373,X[16,57]=0.259,X[17,57]=0.282,X[18,57]=0.267,X[19,57]=0.322,X[20,57]=0.271,X[21,57]=0.259,X[22,57]=0.329,X[23,57]=0.333,X[24,57]=0.537,X[25,57]=0.353,X[26,57]=0.569,X[27,57]=0.584,X[28,57]=0.416,X[29,57]=0.490,X[30,57]=0.388,X[31,57]=0.412,X[32,57]=0.596,X[33,57]=0.667,X[34,57]=0.576,X[35,57]=0.482,X[36,57]=0.463,X[37,57]=0.408,X[38,57]=0.596,X[39,57]=0.533,X[40,57]=0.412,X[41,57]=0.341,X[42,57]=0.459,X[43,57]=0.529,X[44,57]=0.553,X[45,57]=0.694,X[46,57]=0.388,X[47,57]=0.643,X[48,57]=0.737,X[49,57]=0.467,X[50,57]=0.659 X[51,57]=0.514,X[52,57]=0.388,X[53,57]=0.384,X[54,57]=0.439,X[55,57]=0.627,X[56,57]=0.486,X[57,57]=0.608,X[58,57]=0.537,X[59,57]=0.494,X[60,57]=0.537,X[61,57]=0.498,X[62,57]=0.631,X[63,57]=0.408,X[64,57]=0.396,X[65,57]=0.365,X[66,57]=0.298,X[67,57]=0.275,X[68,57]=0.271,X[69,57]=0.259,X[70,57]=0.275,X[71,57]=0.255,X[72,57]=0.294,X[73,57]=0.325,X[74,57]=0.525,X[75,57]=0.388,X[76,57]=0.427,X[77,57]=0.580,X[78,57]=0.502,X[79,57]=0.416,X[80,57]=0.424,X[81,57]=0.447,X[82,57]=0.576,X[83,57]=0.659,X[84,57]=0.600,X[85,57]=0.490,X[86,57]=0.506,X[87,57]=0.424,X[88,57]=0.631,X[89,57]=0.549,X[90,57]=0.596,X[91,57]=0.373,X[92,57]=0.459,X[93,57]=0.424,X[94,57]=0.553,X[95,57]=0.706,X[96,57]=0.525,X[97,57]=0.376,X[98,57]=0.651,X[99,57]=0.451,X[100,57]=0.639 X[1,58]=0.635,X[2,58]=0.471,X[3,58]=0.576,X[4,58]=0.620,X[5,58]=0.514,X[6,58]=0.631,X[7,58]=0.600,X[8,58]=0.675,X[9,58]=0.569,X[10,58]=0.725,X[11,58]=0.722,X[12,58]=0.667,X[13,58]=0.549,X[14,58]=0.506,X[15,58]=0.412,X[16,58]=0.412,X[17,58]=0.341,X[18,58]=0.341,X[19,58]=0.325,X[20,58]=0.322,X[21,58]=0.380,X[22,58]=0.396,X[23,58]=0.345,X[24,58]=0.443,X[25,58]=0.522,X[26,58]=0.545,X[27,58]=0.529,X[28,58]=0.408,X[29,58]=0.459,X[30,58]=0.400,X[31,58]=0.447,X[32,58]=0.584,X[33,58]=0.702,X[34,58]=0.447,X[35,58]=0.529,X[36,58]=0.565,X[37,58]=0.537,X[38,58]=0.667,X[39,58]=0.424,X[40,58]=0.490,X[41,58]=0.306,X[42,58]=0.612,X[43,58]=0.643,X[44,58]=0.494,X[45,58]=0.655,X[46,58]=0.310,X[47,58]=0.553,X[48,58]=0.494,X[49,58]=0.580,X[50,58]=0.627 X[51,58]=0.525,X[52,58]=0.459,X[53,58]=0.561,X[54,58]=0.620,X[55,58]=0.537,X[56,58]=0.533,X[57,58]=0.608,X[58,58]=0.588,X[59,58]=0.592,X[60,58]=0.729,X[61,58]=0.698,X[62,58]=0.690,X[63,58]=0.431,X[64,58]=0.482,X[65,58]=0.400,X[66,58]=0.392,X[67,58]=0.353,X[68,58]=0.329,X[69,58]=0.322,X[70,58]=0.318,X[71,58]=0.337,X[72,58]=0.345,X[73,58]=0.337,X[74,58]=0.467,X[75,58]=0.635,X[76,58]=0.396,X[77,58]=0.537,X[78,58]=0.388,X[79,58]=0.365,X[80,58]=0.518,X[81,58]=0.392,X[82,58]=0.600,X[83,58]=0.678,X[84,58]=0.443,X[85,58]=0.502,X[86,58]=0.588,X[87,58]=0.529,X[88,58]=0.694,X[89,58]=0.592,X[90,58]=0.451,X[91,58]=0.310,X[92,58]=0.604,X[93,58]=0.635,X[94,58]=0.502,X[95,58]=0.667,X[96,58]=0.467,X[97,58]=0.329,X[98,58]=0.506,X[99,58]=0.514,X[100,58]=0.620 X[1,59]=0.620,X[2,59]=0.506,X[3,59]=0.647,X[4,59]=0.592,X[5,59]=0.529,X[6,59]=0.420,X[7,59]=0.282,X[8,59]=0.337,X[9,59]=0.369,X[10,59]=0.357,X[11,59]=0.365,X[12,59]=0.529,X[13,59]=0.486,X[14,59]=0.510,X[15,59]=0.388,X[16,59]=0.694,X[17,59]=0.369,X[18,59]=0.565,X[19,59]=0.663,X[20,59]=0.718,X[21,59]=0.765,X[22,59]=0.718,X[23,59]=0.627,X[24,59]=0.325,X[25,59]=0.486,X[26,59]=0.518,X[27,59]=0.510,X[28,59]=0.620,X[29,59]=0.467,X[30,59]=0.478,X[31,59]=0.376,X[32,59]=0.667,X[33,59]=0.529,X[34,59]=0.467,X[35,59]=0.522,X[36,59]=0.565,X[37,59]=0.400,X[38,59]=0.478,X[39,59]=0.416,X[40,59]=0.557,X[41,59]=0.608,X[42,59]=0.322,X[43,59]=0.498,X[44,59]=0.592,X[45,59]=0.369,X[46,59]=0.333,X[47,59]=0.525,X[48,59]=0.341,X[49,59]=0.541,X[50,59]=0.416 X[51,59]=0.604,X[52,59]=0.518,X[53,59]=0.663,X[54,59]=0.608,X[55,59]=0.525,X[56,59]=0.439,X[57,59]=0.490,X[58,59]=0.341,X[59,59]=0.373,X[60,59]=0.373,X[61,59]=0.373,X[62,59]=0.624,X[63,59]=0.424,X[64,59]=0.545,X[65,59]=0.388,X[66,59]=0.533,X[67,59]=0.463,X[68,59]=0.608,X[69,59]=0.686,X[70,59]=0.729,X[71,59]=0.784,X[72,59]=0.749,X[73,59]=0.580,X[74,59]=0.325,X[75,59]=0.416,X[76,59]=0.451,X[77,59]=0.463,X[78,59]=0.592,X[79,59]=0.420,X[80,59]=0.557,X[81,59]=0.443,X[82,59]=0.671,X[83,59]=0.541,X[84,59]=0.525,X[85,59]=0.518,X[86,59]=0.580,X[87,59]=0.412,X[88,59]=0.420,X[89,59]=0.545,X[90,59]=0.482,X[91,59]=0.545,X[92,59]=0.353,X[93,59]=0.545,X[94,59]=0.580,X[95,59]=0.357,X[96,59]=0.345,X[97,59]=0.439,X[98,59]=0.349,X[99,59]=0.561,X[100,59]=0.427 X[1,60]=0.318,X[2,60]=0.302,X[3,60]=0.337,X[4,60]=0.329,X[5,60]=0.337,X[6,60]=0.357,X[7,60]=0.349,X[8,60]=0.337,X[9,60]=0.349,X[10,60]=0.341,X[11,60]=0.361,X[12,60]=0.471,X[13,60]=0.749,X[14,60]=0.612,X[15,60]=0.675,X[16,60]=0.675,X[17,60]=0.702,X[18,60]=0.639,X[19,60]=0.537,X[20,60]=0.431,X[21,60]=0.455,X[22,60]=0.494,X[23,60]=0.408,X[24,60]=0.439,X[25,60]=0.608,X[26,60]=0.525,X[27,60]=0.620,X[28,60]=0.549,X[29,60]=0.447,X[30,60]=0.549,X[31,60]=0.392,X[32,60]=0.435,X[33,60]=0.475,X[34,60]=0.533,X[35,60]=0.447,X[36,60]=0.604,X[37,60]=0.537,X[38,60]=0.545,X[39,60]=0.537,X[40,60]=0.643,X[41,60]=0.686,X[42,60]=0.357,X[43,60]=0.569,X[44,60]=0.333,X[45,60]=0.580,X[46,60]=0.635,X[47,60]=0.416,X[48,60]=0.333,X[49,60]=0.337,X[50,60]=0.314 X[51,60]=0.302,X[52,60]=0.396,X[53,60]=0.318,X[54,60]=0.322,X[55,60]=0.333,X[56,60]=0.357,X[57,60]=0.478,X[58,60]=0.361,X[59,60]=0.341,X[60,60]=0.341,X[61,60]=0.380,X[62,60]=0.439,X[63,60]=0.651,X[64,60]=0.588,X[65,60]=0.682,X[66,60]=0.631,X[67,60]=0.667,X[68,60]=0.635,X[69,60]=0.525,X[70,60]=0.427,X[71,60]=0.529,X[72,60]=0.471,X[73,60]=0.408,X[74,60]=0.420,X[75,60]=0.506,X[76,60]=0.561,X[77,60]=0.608,X[78,60]=0.600,X[79,60]=0.580,X[80,60]=0.600,X[81,60]=0.404,X[82,60]=0.502,X[83,60]=0.475,X[84,60]=0.592,X[85,60]=0.404,X[86,60]=0.631,X[87,60]=0.506,X[88,60]=0.569,X[89,60]=0.506,X[90,60]=0.498,X[91,60]=0.706,X[92,60]=0.322,X[93,60]=0.325,X[94,60]=0.325,X[95,60]=0.592,X[96,60]=0.631,X[97,60]=0.522,X[98,60]=0.392,X[99,60]=0.333,X[100,60]=0.302 X[1,61]=0.561,X[2,61]=0.380,X[3,61]=0.318,X[4,61]=0.400,X[5,61]=0.655,X[6,61]=0.659,X[7,61]=0.576,X[8,61]=0.447,X[9,61]=0.396,X[10,61]=0.416,X[11,61]=0.384,X[12,61]=0.537,X[13,61]=0.663,X[14,61]=0.533,X[15,61]=0.498,X[16,61]=0.522,X[17,61]=0.565,X[18,61]=0.502,X[19,61]=0.455,X[20,61]=0.404,X[21,61]=0.596,X[22,61]=0.463,X[23,61]=0.349,X[24,61]=0.388,X[25,61]=0.400,X[26,61]=0.584,X[27,61]=0.616,X[28,61]=0.518,X[29,61]=0.494,X[30,61]=0.682,X[31,61]=0.404,X[32,61]=0.384,X[33,61]=0.510,X[34,61]=0.671,X[35,61]=0.651,X[36,61]=0.580,X[37,61]=0.553,X[38,61]=0.627,X[39,61]=0.471,X[40,61]=0.545,X[41,61]=0.569,X[42,61]=0.537,X[43,61]=0.310,X[44,61]=0.333,X[45,61]=0.529,X[46,61]=0.651,X[47,61]=0.682,X[48,61]=0.573,X[49,61]=0.569,X[50,61]=0.549 X[51,61]=0.525,X[52,61]=0.380,X[53,61]=0.314,X[54,61]=0.376,X[55,61]=0.635,X[56,61]=0.710,X[57,61]=0.580,X[58,61]=0.463,X[59,61]=0.424,X[60,61]=0.392,X[61,61]=0.404,X[62,61]=0.482,X[63,61]=0.600,X[64,61]=0.510,X[65,61]=0.506,X[66,61]=0.494,X[67,61]=0.600,X[68,61]=0.498,X[69,61]=0.412,X[70,61]=0.412,X[71,61]=0.475,X[72,61]=0.592,X[73,61]=0.373,X[74,61]=0.384,X[75,61]=0.412,X[76,61]=0.408,X[77,61]=0.569,X[78,61]=0.561,X[79,61]=0.529,X[80,61]=0.596,X[81,61]=0.361,X[82,61]=0.392,X[83,61]=0.549,X[84,61]=0.639,X[85,61]=0.604,X[86,61]=0.616,X[87,61]=0.584,X[88,61]=0.647,X[89,61]=0.463,X[90,61]=0.533,X[91,61]=0.569,X[92,61]=0.502,X[93,61]=0.286,X[94,61]=0.325,X[95,61]=0.549,X[96,61]=0.573,X[97,61]=0.612,X[98,61]=0.671,X[99,61]=0.588,X[100,61]=0.525 X[1,62]=0.733,X[2,62]=0.471,X[3,62]=0.349,X[4,62]=0.380,X[5,62]=0.561,X[6,62]=0.553,X[7,62]=0.702,X[8,62]=0.478,X[9,62]=0.400,X[10,62]=0.463,X[11,62]=0.518,X[12,62]=0.447,X[13,62]=0.541,X[14,62]=0.627,X[15,62]=0.624,X[16,62]=0.525,X[17,62]=0.596,X[18,62]=0.647,X[19,62]=0.588,X[20,62]=0.494,X[21,62]=0.443,X[22,62]=0.380,X[23,62]=0.341,X[24,62]=0.388,X[25,62]=0.435,X[26,62]=0.412,X[27,62]=0.459,X[28,62]=0.467,X[29,62]=0.337,X[30,62]=0.514,X[31,62]=0.588,X[32,62]=0.486,X[33,62]=0.553,X[34,62]=0.533,X[35,62]=0.506,X[36,62]=0.537,X[37,62]=0.561,X[38,62]=0.463,X[39,62]=0.541,X[40,62]=0.580,X[41,62]=0.506,X[42,62]=0.545,X[43,62]=0.259,X[44,62]=0.251,X[45,62]=0.443,X[46,62]=0.643,X[47,62]=0.710,X[48,62]=0.612,X[49,62]=0.686,X[50,62]=0.686 X[51,62]=0.733,X[52,62]=0.365,X[53,62]=0.345,X[54,62]=0.373,X[55,62]=0.588,X[56,62]=0.631,X[57,62]=0.651,X[58,62]=0.510,X[59,62]=0.388,X[60,62]=0.455,X[61,62]=0.533,X[62,62]=0.514,X[63,62]=0.478,X[64,62]=0.620,X[65,62]=0.604,X[66,62]=0.600,X[67,62]=0.545,X[68,62]=0.620,X[69,62]=0.604,X[70,62]=0.486,X[71,62]=0.424,X[72,62]=0.486,X[73,62]=0.337,X[74,62]=0.400,X[75,62]=0.482,X[76,62]=0.361,X[77,62]=0.416,X[78,62]=0.482,X[79,62]=0.439,X[80,62]=0.400,X[81,62]=0.580,X[82,62]=0.502,X[83,62]=0.553,X[84,62]=0.471,X[85,62]=0.584,X[86,62]=0.486,X[87,62]=0.545,X[88,62]=0.482,X[89,62]=0.588,X[90,62]=0.624,X[91,62]=0.518,X[92,62]=0.616,X[93,62]=0.467,X[94,62]=0.263,X[95,62]=0.486,X[96,62]=0.522,X[97,62]=0.631,X[98,62]=0.690,X[99,62]=0.671,X[100,62]=0.694 X[1,63]=0.584,X[2,63]=0.329,X[3,63]=0.369,X[4,63]=0.353,X[5,63]=0.584,X[6,63]=0.604,X[7,63]=0.635,X[8,63]=0.643,X[9,63]=0.482,X[10,63]=0.439,X[11,63]=0.396,X[12,63]=0.400,X[13,63]=0.361,X[14,63]=0.404,X[15,63]=0.451,X[16,63]=0.486,X[17,63]=0.596,X[18,63]=0.616,X[19,63]=0.486,X[20,63]=0.573,X[21,63]=0.447,X[22,63]=0.329,X[23,63]=0.314,X[24,63]=0.541,X[25,63]=0.424,X[26,63]=0.498,X[27,63]=0.451,X[28,63]=0.557,X[29,63]=0.647,X[30,63]=0.533,X[31,63]=0.502,X[32,63]=0.431,X[33,63]=0.529,X[34,63]=0.431,X[35,63]=0.518,X[36,63]=0.518,X[37,63]=0.435,X[38,63]=0.604,X[39,63]=0.643,X[40,63]=0.463,X[41,63]=0.384,X[42,63]=0.612,X[43,63]=0.294,X[44,63]=0.263,X[45,63]=0.471,X[46,63]=0.612,X[47,63]=0.596,X[48,63]=0.545,X[49,63]=0.549,X[50,63]=0.647 X[51,63]=0.569,X[52,63]=0.341,X[53,63]=0.361,X[54,63]=0.392,X[55,63]=0.612,X[56,63]=0.675,X[57,63]=0.773,X[58,63]=0.729,X[59,63]=0.596,X[60,63]=0.435,X[61,63]=0.380,X[62,63]=0.318,X[63,63]=0.361,X[64,63]=0.404,X[65,63]=0.392,X[66,63]=0.431,X[67,63]=0.529,X[68,63]=0.647,X[69,63]=0.494,X[70,63]=0.529,X[71,63]=0.569,X[72,63]=0.278,X[73,63]=0.329,X[74,63]=0.537,X[75,63]=0.498,X[76,63]=0.451,X[77,63]=0.451,X[78,63]=0.553,X[79,63]=0.647,X[80,63]=0.506,X[81,63]=0.506,X[82,63]=0.451,X[83,63]=0.518,X[84,63]=0.482,X[85,63]=0.600,X[86,63]=0.522,X[87,63]=0.482,X[88,63]=0.624,X[89,63]=0.580,X[90,63]=0.537,X[91,63]=0.384,X[92,63]=0.639,X[93,63]=0.573,X[94,63]=0.302,X[95,63]=0.498,X[96,63]=0.553,X[97,63]=0.612,X[98,63]=0.592,X[99,63]=0.565,X[100,63]=0.647 X[1,64]=0.439,X[2,64]=0.365,X[3,64]=0.380,X[4,64]=0.349,X[5,64]=0.400,X[6,64]=0.455,X[7,64]=0.612,X[8,64]=0.667,X[9,64]=0.380,X[10,64]=0.345,X[11,64]=0.239,X[12,64]=0.306,X[13,64]=0.322,X[14,64]=0.310,X[15,64]=0.298,X[16,64]=0.243,X[17,64]=0.235,X[18,64]=0.275,X[19,64]=0.306,X[20,64]=0.400,X[21,64]=0.337,X[22,64]=0.396,X[23,64]=0.427,X[24,64]=0.455,X[25,64]=0.329,X[26,64]=0.376,X[27,64]=0.467,X[28,64]=0.400,X[29,64]=0.416,X[30,64]=0.443,X[31,64]=0.451,X[32,64]=0.404,X[33,64]=0.494,X[34,64]=0.384,X[35,64]=0.384,X[36,64]=0.553,X[37,64]=0.506,X[38,64]=0.325,X[39,64]=0.361,X[40,64]=0.298,X[41,64]=0.325,X[42,64]=0.667,X[43,64]=0.325,X[44,64]=0.298,X[45,64]=0.396,X[46,64]=0.435,X[47,64]=0.392,X[48,64]=0.373,X[49,64]=0.471,X[50,64]=0.553 X[51,64]=0.427,X[52,64]=0.373,X[53,64]=0.392,X[54,64]=0.349,X[55,64]=0.400,X[56,64]=0.475,X[57,64]=0.588,X[58,64]=0.631,X[59,64]=0.573,X[60,64]=0.318,X[61,64]=0.239,X[62,64]=0.271,X[63,64]=0.322,X[64,64]=0.314,X[65,64]=0.298,X[66,64]=0.290,X[67,64]=0.216,X[68,64]=0.263,X[69,64]=0.329,X[70,64]=0.392,X[71,64]=0.329,X[72,64]=0.373,X[73,64]=0.427,X[74,64]=0.478,X[75,64]=0.510,X[76,64]=0.404,X[77,64]=0.478,X[78,64]=0.384,X[79,64]=0.490,X[80,64]=0.451,X[81,64]=0.431,X[82,64]=0.412,X[83,64]=0.486,X[84,64]=0.475,X[85,64]=0.341,X[86,64]=0.608,X[87,64]=0.494,X[88,64]=0.412,X[89,64]=0.333,X[90,64]=0.357,X[91,64]=0.337,X[92,64]=0.659,X[93,64]=0.525,X[94,64]=0.322,X[95,64]=0.435,X[96,64]=0.514,X[97,64]=0.416,X[98,64]=0.365,X[99,64]=0.471,X[100,64]=0.573 X[1,65]=0.392,X[2,65]=0.365,X[3,65]=0.431,X[4,65]=0.471,X[5,65]=0.482,X[6,65]=0.427,X[7,65]=0.424,X[8,65]=0.557,X[9,65]=0.529,X[10,65]=0.596,X[11,65]=0.373,X[12,65]=0.396,X[13,65]=0.592,X[14,65]=0.557,X[15,65]=0.502,X[16,65]=0.682,X[17,65]=0.561,X[18,65]=0.620,X[19,65]=0.631,X[20,65]=0.631,X[21,65]=0.529,X[22,65]=0.447,X[23,65]=0.424,X[24,65]=0.447,X[25,65]=0.388,X[26,65]=0.384,X[27,65]=0.463,X[28,65]=0.353,X[29,65]=0.408,X[30,65]=0.388,X[31,65]=0.373,X[32,65]=0.353,X[33,65]=0.361,X[34,65]=0.357,X[35,65]=0.400,X[36,65]=0.459,X[37,65]=0.404,X[38,65]=0.416,X[39,65]=0.404,X[40,65]=0.329,X[41,65]=0.318,X[42,65]=0.365,X[43,65]=0.361,X[44,65]=0.369,X[45,65]=0.329,X[46,65]=0.235,X[47,65]=0.235,X[48,65]=0.231,X[49,65]=0.243,X[50,65]=0.357 X[51,65]=0.392,X[52,65]=0.329,X[53,65]=0.420,X[54,65]=0.498,X[55,65]=0.482,X[56,65]=0.392,X[57,65]=0.537,X[58,65]=0.553,X[59,65]=0.478,X[60,65]=0.537,X[61,65]=0.380,X[62,65]=0.369,X[63,65]=0.518,X[64,65]=0.580,X[65,65]=0.498,X[66,65]=0.537,X[67,65]=0.604,X[68,65]=0.627,X[69,65]=0.624,X[70,65]=0.659,X[71,65]=0.651,X[72,65]=0.478,X[73,65]=0.416,X[74,65]=0.455,X[75,65]=0.549,X[76,65]=0.412,X[77,65]=0.443,X[78,65]=0.361,X[79,65]=0.451,X[80,65]=0.353,X[81,65]=0.353,X[82,65]=0.341,X[83,65]=0.353,X[84,65]=0.396,X[85,65]=0.349,X[86,65]=0.494,X[87,65]=0.392,X[88,65]=0.400,X[89,65]=0.408,X[90,65]=0.357,X[91,65]=0.310,X[92,65]=0.353,X[93,65]=0.318,X[94,65]=0.369,X[95,65]=0.318,X[96,65]=0.290,X[97,65]=0.216,X[98,65]=0.231,X[99,65]=0.247,X[100,65]=0.361 X[1,66]=0.388,X[2,66]=0.396,X[3,66]=0.435,X[4,66]=0.404,X[5,66]=0.471,X[6,66]=0.482,X[7,66]=0.451,X[8,66]=0.365,X[9,66]=0.525,X[10,66]=0.549,X[11,66]=0.345,X[12,66]=0.451,X[13,66]=0.404,X[14,66]=0.545,X[15,66]=0.388,X[16,66]=0.529,X[17,66]=0.502,X[18,66]=0.588,X[19,66]=0.514,X[20,66]=0.533,X[21,66]=0.647,X[22,66]=0.612,X[23,66]=0.376,X[24,66]=0.259,X[25,66]=0.227,X[26,66]=0.255,X[27,66]=0.278,X[28,66]=0.235,X[29,66]=0.247,X[30,66]=0.204,X[31,66]=0.200,X[32,66]=0.227,X[33,66]=0.212,X[34,66]=0.204,X[35,66]=0.224,X[36,66]=0.204,X[37,66]=0.247,X[38,66]=0.235,X[39,66]=0.231,X[40,66]=0.251,X[41,66]=0.263,X[42,66]=0.329,X[43,66]=0.447,X[44,66]=0.357,X[45,66]=0.286,X[46,66]=0.349,X[47,66]=0.384,X[48,66]=0.439,X[49,66]=0.525,X[50,66]=0.443 X[51,66]=0.404,X[52,66]=0.341,X[53,66]=0.420,X[54,66]=0.376,X[55,66]=0.494,X[56,66]=0.494,X[57,66]=0.518,X[58,66]=0.490,X[59,66]=0.533,X[60,66]=0.475,X[61,66]=0.349,X[62,66]=0.392,X[63,66]=0.443,X[64,66]=0.596,X[65,66]=0.380,X[66,66]=0.400,X[67,66]=0.502,X[68,66]=0.580,X[69,66]=0.522,X[70,66]=0.541,X[71,66]=0.651,X[72,66]=0.678,X[73,66]=0.384,X[74,66]=0.251,X[75,66]=0.220,X[76,66]=0.243,X[77,66]=0.263,X[78,66]=0.231,X[79,66]=0.231,X[80,66]=0.235,X[81,66]=0.196,X[82,66]=0.227,X[83,66]=0.204,X[84,66]=0.200,X[85,66]=0.216,X[86,66]=0.208,X[87,66]=0.255,X[88,66]=0.231,X[89,66]=0.220,X[90,66]=0.282,X[91,66]=0.259,X[92,66]=0.337,X[93,66]=0.396,X[94,66]=0.349,X[95,66]=0.294,X[96,66]=0.314,X[97,66]=0.388,X[98,66]=0.412,X[99,66]=0.549,X[100,66]=0.427 X[1,67]=0.569,X[2,67]=0.357,X[3,67]=0.400,X[4,67]=0.616,X[5,67]=0.463,X[6,67]=0.588,X[7,67]=0.420,X[8,67]=0.380,X[9,67]=0.416,X[10,67]=0.475,X[11,67]=0.353,X[12,67]=0.325,X[13,67]=0.482,X[14,67]=0.494,X[15,67]=0.514,X[16,67]=0.502,X[17,67]=0.545,X[18,67]=0.420,X[19,67]=0.549,X[20,67]=0.592,X[21,67]=0.522,X[22,67]=0.514,X[23,67]=0.576,X[24,67]=0.600,X[25,67]=0.596,X[26,67]=0.373,X[27,67]=0.420,X[28,67]=0.451,X[29,67]=0.518,X[30,67]=0.584,X[31,67]=0.616,X[32,67]=0.545,X[33,67]=0.557,X[34,67]=0.557,X[35,67]=0.643,X[36,67]=0.671,X[37,67]=0.631,X[38,67]=0.443,X[39,67]=0.522,X[40,67]=0.431,X[41,67]=0.447,X[42,67]=0.404,X[43,67]=0.404,X[44,67]=0.537,X[45,67]=0.675,X[46,67]=0.455,X[47,67]=0.541,X[48,67]=0.616,X[49,67]=0.576,X[50,67]=0.659 X[51,67]=0.431,X[52,67]=0.388,X[53,67]=0.420,X[54,67]=0.573,X[55,67]=0.478,X[56,67]=0.506,X[57,67]=0.471,X[58,67]=0.357,X[59,67]=0.471,X[60,67]=0.459,X[61,67]=0.349,X[62,67]=0.314,X[63,67]=0.467,X[64,67]=0.529,X[65,67]=0.553,X[66,67]=0.506,X[67,67]=0.424,X[68,67]=0.451,X[69,67]=0.518,X[70,67]=0.612,X[71,67]=0.600,X[72,67]=0.533,X[73,67]=0.565,X[74,67]=0.604,X[75,67]=0.620,X[76,67]=0.537,X[77,67]=0.416,X[78,67]=0.459,X[79,67]=0.478,X[80,67]=0.608,X[81,67]=0.612,X[82,67]=0.510,X[83,67]=0.557,X[84,67]=0.522,X[85,67]=0.565,X[86,67]=0.616,X[87,67]=0.604,X[88,67]=0.447,X[89,67]=0.533,X[90,67]=0.471,X[91,67]=0.459,X[92,67]=0.416,X[93,67]=0.439,X[94,67]=0.537,X[95,67]=0.698,X[96,67]=0.639,X[97,67]=0.514,X[98,67]=0.651,X[99,67]=0.616,X[100,67]=0.639 X[1,68]=0.427,X[2,68]=0.384,X[3,68]=0.349,X[4,68]=0.384,X[5,68]=0.451,X[6,68]=0.549,X[7,68]=0.459,X[8,68]=0.584,X[9,68]=0.502,X[10,68]=0.353,X[11,68]=0.361,X[12,68]=0.427,X[13,68]=0.494,X[14,68]=0.557,X[15,68]=0.529,X[16,68]=0.506,X[17,68]=0.404,X[18,68]=0.455,X[19,68]=0.396,X[20,68]=0.349,X[21,68]=0.416,X[22,68]=0.384,X[23,68]=0.475,X[24,68]=0.525,X[25,68]=0.529,X[26,68]=0.424,X[27,68]=0.486,X[28,68]=0.333,X[29,68]=0.404,X[30,68]=0.376,X[31,68]=0.451,X[32,68]=0.533,X[33,68]=0.627,X[34,68]=0.663,X[35,68]=0.518,X[36,68]=0.561,X[37,68]=0.443,X[38,68]=0.522,X[39,68]=0.533,X[40,68]=0.624,X[41,68]=0.706,X[42,68]=0.463,X[43,68]=0.373,X[44,68]=0.502,X[45,68]=0.525,X[46,68]=0.494,X[47,68]=0.420,X[48,68]=0.459,X[49,68]=0.459,X[50,68]=0.412 X[51,68]=0.404,X[52,68]=0.416,X[53,68]=0.369,X[54,68]=0.373,X[55,68]=0.471,X[56,68]=0.455,X[57,68]=0.541,X[58,68]=0.463,X[59,68]=0.635,X[60,68]=0.337,X[61,68]=0.373,X[62,68]=0.333,X[63,68]=0.447,X[64,68]=0.529,X[65,68]=0.510,X[66,68]=0.549,X[67,68]=0.518,X[68,68]=0.420,X[69,68]=0.404,X[70,68]=0.322,X[71,68]=0.365,X[72,68]=0.365,X[73,68]=0.486,X[74,68]=0.529,X[75,68]=0.616,X[76,68]=0.624,X[77,68]=0.467,X[78,68]=0.353,X[79,68]=0.427,X[80,68]=0.467,X[81,68]=0.427,X[82,68]=0.549,X[83,68]=0.655,X[84,68]=0.569,X[85,68]=0.616,X[86,68]=0.576,X[87,68]=0.451,X[88,68]=0.475,X[89,68]=0.561,X[90,68]=0.616,X[91,68]=0.714,X[92,68]=0.482,X[93,68]=0.435,X[94,68]=0.498,X[95,68]=0.576,X[96,68]=0.682,X[97,68]=0.459,X[98,68]=0.412,X[99,68]=0.396,X[100,68]=0.424 X[1,69]=0.373,X[2,69]=0.357,X[3,69]=0.416,X[4,69]=0.518,X[5,69]=0.404,X[6,69]=0.329,X[7,69]=0.553,X[8,69]=0.561,X[9,69]=0.482,X[10,69]=0.333,X[11,69]=0.333,X[12,69]=0.384,X[13,69]=0.380,X[14,69]=0.435,X[15,69]=0.467,X[16,69]=0.463,X[17,69]=0.490,X[18,69]=0.604,X[19,69]=0.529,X[20,69]=0.565,X[21,69]=0.502,X[22,69]=0.365,X[23,69]=0.451,X[24,69]=0.314,X[25,69]=0.537,X[26,69]=0.396,X[27,69]=0.361,X[28,69]=0.361,X[29,69]=0.337,X[30,69]=0.427,X[31,69]=0.529,X[32,69]=0.682,X[33,69]=0.545,X[34,69]=0.635,X[35,69]=0.471,X[36,69]=0.420,X[37,69]=0.384,X[38,69]=0.435,X[39,69]=0.369,X[40,69]=0.443,X[41,69]=0.545,X[42,69]=0.506,X[43,69]=0.388,X[44,69]=0.459,X[45,69]=0.431,X[46,69]=0.275,X[47,69]=0.263,X[48,69]=0.310,X[49,69]=0.310,X[50,69]=0.337 X[51,69]=0.384,X[52,69]=0.373,X[53,69]=0.392,X[54,69]=0.482,X[55,69]=0.435,X[56,69]=0.373,X[57,69]=0.514,X[58,69]=0.416,X[59,69]=0.412,X[60,69]=0.333,X[61,69]=0.322,X[62,69]=0.349,X[63,69]=0.376,X[64,69]=0.416,X[65,69]=0.459,X[66,69]=0.529,X[67,69]=0.557,X[68,69]=0.569,X[69,69]=0.502,X[70,69]=0.573,X[71,69]=0.659,X[72,69]=0.380,X[73,69]=0.467,X[74,69]=0.329,X[75,69]=0.639,X[76,69]=0.314,X[77,69]=0.400,X[78,69]=0.337,X[79,69]=0.329,X[80,69]=0.384,X[81,69]=0.557,X[82,69]=0.694,X[83,69]=0.510,X[84,69]=0.518,X[85,69]=0.624,X[86,69]=0.420,X[87,69]=0.361,X[88,69]=0.380,X[89,69]=0.498,X[90,69]=0.376,X[91,69]=0.565,X[92,69]=0.510,X[93,69]=0.439,X[94,69]=0.459,X[95,69]=0.424,X[96,69]=0.373,X[97,69]=0.255,X[98,69]=0.298,X[99,69]=0.306,X[100,69]=0.341 X[1,70]=0.278,X[2,70]=0.353,X[3,70]=0.325,X[4,70]=0.318,X[5,70]=0.318,X[6,70]=0.302,X[7,70]=0.294,X[8,70]=0.310,X[9,70]=0.404,X[10,70]=0.306,X[11,70]=0.361,X[12,70]=0.365,X[13,70]=0.435,X[14,70]=0.459,X[15,70]=0.541,X[16,70]=0.537,X[17,70]=0.643,X[18,70]=0.467,X[19,70]=0.400,X[20,70]=0.475,X[21,70]=0.376,X[22,70]=0.525,X[23,70]=0.353,X[24,70]=0.533,X[25,70]=0.337,X[26,70]=0.361,X[27,70]=0.608,X[28,70]=0.576,X[29,70]=0.510,X[30,70]=0.573,X[31,70]=0.380,X[32,70]=0.725,X[33,70]=0.702,X[34,70]=0.427,X[35,70]=0.404,X[36,70]=0.514,X[37,70]=0.341,X[38,70]=0.424,X[39,70]=0.580,X[40,70]=0.678,X[41,70]=0.757,X[42,70]=0.416,X[43,70]=0.400,X[44,70]=0.471,X[45,70]=0.667,X[46,70]=0.663,X[47,70]=0.639,X[48,70]=0.718,X[49,70]=0.651,X[50,70]=0.282 X[51,70]=0.294,X[52,70]=0.353,X[53,70]=0.341,X[54,70]=0.329,X[55,70]=0.318,X[56,70]=0.298,X[57,70]=0.416,X[58,70]=0.310,X[59,70]=0.427,X[60,70]=0.302,X[61,70]=0.380,X[62,70]=0.388,X[63,70]=0.427,X[64,70]=0.463,X[65,70]=0.541,X[66,70]=0.620,X[67,70]=0.639,X[68,70]=0.471,X[69,70]=0.412,X[70,70]=0.427,X[71,70]=0.424,X[72,70]=0.494,X[73,70]=0.380,X[74,70]=0.545,X[75,70]=0.522,X[76,70]=0.337,X[77,70]=0.612,X[78,70]=0.592,X[79,70]=0.518,X[80,70]=0.522,X[81,70]=0.380,X[82,70]=0.725,X[83,70]=0.714,X[84,70]=0.600,X[85,70]=0.451,X[86,70]=0.443,X[87,70]=0.329,X[88,70]=0.416,X[89,70]=0.565,X[90,70]=0.569,X[91,70]=0.725,X[92,70]=0.420,X[93,70]=0.408,X[94,70]=0.490,X[95,70]=0.675,X[96,70]=0.678,X[97,70]=0.686,X[98,70]=0.729,X[99,70]=0.608,X[100,70]=0.282 X[1,71]=0.467,X[2,71]=0.302,X[3,71]=0.314,X[4,71]=0.341,X[5,71]=0.353,X[6,71]=0.361,X[7,71]=0.353,X[8,71]=0.396,X[9,71]=0.745,X[10,71]=0.627,X[11,71]=0.376,X[12,71]=0.420,X[13,71]=0.392,X[14,71]=0.369,X[15,71]=0.600,X[16,71]=0.549,X[17,71]=0.608,X[18,71]=0.541,X[19,71]=0.475,X[20,71]=0.545,X[21,71]=0.467,X[22,71]=0.420,X[23,71]=0.541,X[24,71]=0.439,X[25,71]=0.318,X[26,71]=0.271,X[27,71]=0.400,X[28,71]=0.459,X[29,71]=0.376,X[30,71]=0.439,X[31,71]=0.514,X[32,71]=0.580,X[33,71]=0.463,X[34,71]=0.357,X[35,71]=0.576,X[36,71]=0.608,X[37,71]=0.365,X[38,71]=0.455,X[39,71]=0.624,X[40,71]=0.639,X[41,71]=0.741,X[42,71]=0.604,X[43,71]=0.659,X[44,71]=0.604,X[45,71]=0.604,X[46,71]=0.600,X[47,71]=0.592,X[48,71]=0.737,X[49,71]=0.725,X[50,71]=0.573 X[51,71]=0.341,X[52,71]=0.325,X[53,71]=0.310,X[54,71]=0.341,X[55,71]=0.357,X[56,71]=0.376,X[57,71]=0.463,X[58,71]=0.353,X[59,71]=0.667,X[60,71]=0.600,X[61,71]=0.365,X[62,71]=0.408,X[63,71]=0.424,X[64,71]=0.365,X[65,71]=0.612,X[66,71]=0.553,X[67,71]=0.675,X[68,71]=0.600,X[69,71]=0.525,X[70,71]=0.541,X[71,71]=0.576,X[72,71]=0.537,X[73,71]=0.545,X[74,71]=0.439,X[75,71]=0.408,X[76,71]=0.294,X[77,71]=0.420,X[78,71]=0.478,X[79,71]=0.365,X[80,71]=0.490,X[81,71]=0.490,X[82,71]=0.502,X[83,71]=0.478,X[84,71]=0.533,X[85,71]=0.557,X[86,71]=0.651,X[87,71]=0.373,X[88,71]=0.361,X[89,71]=0.596,X[90,71]=0.588,X[91,71]=0.698,X[92,71]=0.604,X[93,71]=0.561,X[94,71]=0.600,X[95,71]=0.682,X[96,71]=0.608,X[97,71]=0.553,X[98,71]=0.694,X[99,71]=0.741,X[100,71]=0.569 X[1,72]=0.667,X[2,72]=0.675,X[3,72]=0.490,X[4,72]=0.392,X[5,72]=0.275,X[6,72]=0.267,X[7,72]=0.416,X[8,72]=0.682,X[9,72]=0.529,X[10,72]=0.604,X[11,72]=0.576,X[12,72]=0.408,X[13,72]=0.412,X[14,72]=0.424,X[15,72]=0.506,X[16,72]=0.494,X[17,72]=0.580,X[18,72]=0.576,X[19,72]=0.612,X[20,72]=0.557,X[21,72]=0.682,X[22,72]=0.494,X[23,72]=0.537,X[24,72]=0.400,X[25,72]=0.353,X[26,72]=0.380,X[27,72]=0.463,X[28,72]=0.353,X[29,72]=0.424,X[30,72]=0.592,X[31,72]=0.635,X[32,72]=0.655,X[33,72]=0.561,X[34,72]=0.608,X[35,72]=0.608,X[36,72]=0.663,X[37,72]=0.608,X[38,72]=0.259,X[39,72]=0.302,X[40,72]=0.671,X[41,72]=0.569,X[42,72]=0.463,X[43,72]=0.522,X[44,72]=0.463,X[45,72]=0.682,X[46,72]=0.580,X[47,72]=0.580,X[48,72]=0.467,X[49,72]=0.576,X[50,72]=0.616 X[51,72]=0.729,X[52,72]=0.694,X[53,72]=0.518,X[54,72]=0.392,X[55,72]=0.302,X[56,72]=0.404,X[57,72]=0.580,X[58,72]=0.553,X[59,72]=0.725,X[60,72]=0.643,X[61,72]=0.655,X[62,72]=0.510,X[63,72]=0.412,X[64,72]=0.439,X[65,72]=0.541,X[66,72]=0.592,X[67,72]=0.600,X[68,72]=0.584,X[69,72]=0.627,X[70,72]=0.596,X[71,72]=0.671,X[72,72]=0.588,X[73,72]=0.561,X[74,72]=0.388,X[75,72]=0.373,X[76,72]=0.353,X[77,72]=0.459,X[78,72]=0.369,X[79,72]=0.490,X[80,72]=0.514,X[81,72]=0.624,X[82,72]=0.612,X[83,72]=0.612,X[84,72]=0.549,X[85,72]=0.584,X[86,72]=0.694,X[87,72]=0.624,X[88,72]=0.424,X[89,72]=0.267,X[90,72]=0.475,X[91,72]=0.549,X[92,72]=0.451,X[93,72]=0.384,X[94,72]=0.514,X[95,72]=0.671,X[96,72]=0.643,X[97,72]=0.549,X[98,72]=0.408,X[99,72]=0.612,X[100,72]=0.608 X[1,73]=0.514,X[2,73]=0.478,X[3,73]=0.424,X[4,73]=0.227,X[5,73]=0.459,X[6,73]=0.420,X[7,73]=0.647,X[8,73]=0.541,X[9,73]=0.729,X[10,73]=0.553,X[11,73]=0.443,X[12,73]=0.341,X[13,73]=0.412,X[14,73]=0.455,X[15,73]=0.573,X[16,73]=0.439,X[17,73]=0.514,X[18,73]=0.439,X[19,73]=0.388,X[20,73]=0.533,X[21,73]=0.604,X[22,73]=0.604,X[23,73]=0.639,X[24,73]=0.404,X[25,73]=0.431,X[26,73]=0.380,X[27,73]=0.322,X[28,73]=0.290,X[29,73]=0.341,X[30,73]=0.447,X[31,73]=0.412,X[32,73]=0.286,X[33,73]=0.310,X[34,73]=0.502,X[35,73]=0.455,X[36,73]=0.494,X[37,73]=0.490,X[38,73]=0.439,X[39,73]=0.467,X[40,73]=0.494,X[41,73]=0.443,X[42,73]=0.380,X[43,73]=0.592,X[44,73]=0.545,X[45,73]=0.314,X[46,73]=0.447,X[47,73]=0.380,X[48,73]=0.455,X[49,73]=0.420,X[50,73]=0.388 X[51,73]=0.557,X[52,73]=0.506,X[53,73]=0.424,X[54,73]=0.235,X[55,73]=0.435,X[56,73]=0.592,X[57,73]=0.573,X[58,73]=0.584,X[59,73]=0.686,X[60,73]=0.573,X[61,73]=0.396,X[62,73]=0.357,X[63,73]=0.380,X[64,73]=0.427,X[65,73]=0.545,X[66,73]=0.600,X[67,73]=0.447,X[68,73]=0.427,X[69,73]=0.392,X[70,73]=0.549,X[71,73]=0.631,X[72,73]=0.584,X[73,73]=0.675,X[74,73]=0.412,X[75,73]=0.482,X[76,73]=0.376,X[77,73]=0.325,X[78,73]=0.282,X[79,73]=0.247,X[80,73]=0.439,X[81,73]=0.384,X[82,73]=0.294,X[83,73]=0.325,X[84,73]=0.408,X[85,73]=0.471,X[86,73]=0.467,X[87,73]=0.463,X[88,73]=0.506,X[89,73]=0.506,X[90,73]=0.682,X[91,73]=0.435,X[92,73]=0.408,X[93,73]=0.529,X[94,73]=0.467,X[95,73]=0.369,X[96,73]=0.365,X[97,73]=0.475,X[98,73]=0.388,X[99,73]=0.471,X[100,73]=0.396 X[1,74]=0.490,X[2,74]=0.588,X[3,74]=0.514,X[4,74]=0.251,X[5,74]=0.282,X[6,74]=0.365,X[7,74]=0.553,X[8,74]=0.553,X[9,74]=0.565,X[10,74]=0.329,X[11,74]=0.376,X[12,74]=0.278,X[13,74]=0.361,X[14,74]=0.431,X[15,74]=0.447,X[16,74]=0.361,X[17,74]=0.345,X[18,74]=0.424,X[19,74]=0.580,X[20,74]=0.518,X[21,74]=0.475,X[22,74]=0.686,X[23,74]=0.710,X[24,74]=0.435,X[25,74]=0.584,X[26,74]=0.573,X[27,74]=0.675,X[28,74]=0.522,X[29,74]=0.243,X[30,74]=0.278,X[31,74]=0.302,X[32,74]=0.400,X[33,74]=0.427,X[34,74]=0.298,X[35,74]=0.557,X[36,74]=0.482,X[37,74]=0.416,X[38,74]=0.357,X[39,74]=0.404,X[40,74]=0.384,X[41,74]=0.439,X[42,74]=0.475,X[43,74]=0.482,X[44,74]=0.486,X[45,74]=0.510,X[46,74]=0.322,X[47,74]=0.337,X[48,74]=0.455,X[49,74]=0.404,X[50,74]=0.373 X[51,74]=0.616,X[52,74]=0.447,X[53,74]=0.447,X[54,74]=0.267,X[55,74]=0.282,X[56,74]=0.435,X[57,74]=0.702,X[58,74]=0.635,X[59,74]=0.753,X[60,74]=0.333,X[61,74]=0.373,X[62,74]=0.341,X[63,74]=0.298,X[64,74]=0.435,X[65,74]=0.412,X[66,74]=0.353,X[67,74]=0.447,X[68,74]=0.427,X[69,74]=0.553,X[70,74]=0.541,X[71,74]=0.514,X[72,74]=0.596,X[73,74]=0.718,X[74,74]=0.435,X[75,74]=0.514,X[76,74]=0.698,X[77,74]=0.671,X[78,74]=0.494,X[79,74]=0.298,X[80,74]=0.259,X[81,74]=0.322,X[82,74]=0.404,X[83,74]=0.400,X[84,74]=0.329,X[85,74]=0.463,X[86,74]=0.478,X[87,74]=0.427,X[88,74]=0.314,X[89,74]=0.424,X[90,74]=0.388,X[91,74]=0.459,X[92,74]=0.451,X[93,74]=0.408,X[94,74]=0.467,X[95,74]=0.482,X[96,74]=0.459,X[97,74]=0.333,X[98,74]=0.439,X[99,74]=0.467,X[100,74]=0.420 X[1,75]=0.482,X[2,75]=0.659,X[3,75]=0.420,X[4,75]=0.325,X[5,75]=0.275,X[6,75]=0.255,X[7,75]=0.404,X[8,75]=0.510,X[9,75]=0.353,X[10,75]=0.427,X[11,75]=0.714,X[12,75]=0.329,X[13,75]=0.349,X[14,75]=0.420,X[15,75]=0.502,X[16,75]=0.420,X[17,75]=0.471,X[18,75]=0.478,X[19,75]=0.537,X[20,75]=0.439,X[21,75]=0.357,X[22,75]=0.439,X[23,75]=0.745,X[24,75]=0.467,X[25,75]=0.600,X[26,75]=0.451,X[27,75]=0.435,X[28,75]=0.671,X[29,75]=0.486,X[30,75]=0.286,X[31,75]=0.349,X[32,75]=0.400,X[33,75]=0.471,X[34,75]=0.353,X[35,75]=0.557,X[36,75]=0.518,X[37,75]=0.455,X[38,75]=0.529,X[39,75]=0.569,X[40,75]=0.416,X[41,75]=0.306,X[42,75]=0.349,X[43,75]=0.314,X[44,75]=0.325,X[45,75]=0.353,X[46,75]=0.439,X[47,75]=0.455,X[48,75]=0.384,X[49,75]=0.439,X[50,75]=0.455 X[51,75]=0.553,X[52,75]=0.541,X[53,75]=0.486,X[54,75]=0.396,X[55,75]=0.294,X[56,75]=0.247,X[57,75]=0.588,X[58,75]=0.584,X[59,75]=0.451,X[60,75]=0.443,X[61,75]=0.706,X[62,75]=0.510,X[63,75]=0.286,X[64,75]=0.388,X[65,75]=0.494,X[66,75]=0.369,X[67,75]=0.463,X[68,75]=0.455,X[69,75]=0.588,X[70,75]=0.431,X[71,75]=0.435,X[72,75]=0.424,X[73,75]=0.718,X[74,75]=0.471,X[75,75]=0.596,X[76,75]=0.545,X[77,75]=0.439,X[78,75]=0.694,X[79,75]=0.655,X[80,75]=0.302,X[81,75]=0.357,X[82,75]=0.404,X[83,75]=0.447,X[84,75]=0.404,X[85,75]=0.475,X[86,75]=0.482,X[87,75]=0.447,X[88,75]=0.400,X[89,75]=0.549,X[90,75]=0.388,X[91,75]=0.286,X[92,75]=0.353,X[93,75]=0.376,X[94,75]=0.341,X[95,75]=0.314,X[96,75]=0.353,X[97,75]=0.322,X[98,75]=0.329,X[99,75]=0.459,X[100,75]=0.518 X[1,76]=0.353,X[2,76]=0.427,X[3,76]=0.471,X[4,76]=0.502,X[5,76]=0.361,X[6,76]=0.361,X[7,76]=0.322,X[8,76]=0.533,X[9,76]=0.561,X[10,76]=0.682,X[11,76]=0.600,X[12,76]=0.502,X[13,76]=0.298,X[14,76]=0.322,X[15,76]=0.467,X[16,76]=0.537,X[17,76]=0.510,X[18,76]=0.325,X[19,76]=0.373,X[20,76]=0.482,X[21,76]=0.557,X[22,76]=0.651,X[23,76]=0.463,X[24,76]=0.494,X[25,76]=0.494,X[26,76]=0.373,X[27,76]=0.361,X[28,76]=0.471,X[29,76]=0.635,X[30,76]=0.635,X[31,76]=0.325,X[32,76]=0.455,X[33,76]=0.557,X[34,76]=0.533,X[35,76]=0.553,X[36,76]=0.608,X[37,76]=0.514,X[38,76]=0.424,X[39,76]=0.353,X[40,76]=0.490,X[41,76]=0.220,X[42,76]=0.294,X[43,76]=0.314,X[44,76]=0.271,X[45,76]=0.435,X[46,76]=0.522,X[47,76]=0.408,X[48,76]=0.349,X[49,76]=0.502,X[50,76]=0.404 X[51,76]=0.306,X[52,76]=0.545,X[53,76]=0.514,X[54,76]=0.537,X[55,76]=0.361,X[56,76]=0.353,X[57,76]=0.514,X[58,76]=0.459,X[59,76]=0.494,X[60,76]=0.667,X[61,76]=0.612,X[62,76]=0.655,X[63,76]=0.341,X[64,76]=0.333,X[65,76]=0.427,X[66,76]=0.467,X[67,76]=0.573,X[68,76]=0.325,X[69,76]=0.427,X[70,76]=0.463,X[71,76]=0.463,X[72,76]=0.690,X[73,76]=0.459,X[74,76]=0.502,X[75,76]=0.557,X[76,76]=0.420,X[77,76]=0.420,X[78,76]=0.502,X[79,76]=0.486,X[80,76]=0.729,X[81,76]=0.298,X[82,76]=0.475,X[83,76]=0.569,X[84,76]=0.529,X[85,76]=0.486,X[86,76]=0.553,X[87,76]=0.506,X[88,76]=0.478,X[89,76]=0.416,X[90,76]=0.416,X[91,76]=0.184,X[92,76]=0.298,X[93,76]=0.322,X[94,76]=0.318,X[95,76]=0.396,X[96,76]=0.380,X[97,76]=0.482,X[98,76]=0.439,X[99,76]=0.522,X[100,76]=0.353 X[1,77]=0.263,X[2,77]=0.129,X[3,77]=0.596,X[4,77]=0.722,X[5,77]=0.557,X[6,77]=0.541,X[7,77]=0.588,X[8,77]=0.514,X[9,77]=0.608,X[10,77]=0.624,X[11,77]=0.608,X[12,77]=0.620,X[13,77]=0.333,X[14,77]=0.325,X[15,77]=0.302,X[16,77]=0.333,X[17,77]=0.341,X[18,77]=0.322,X[19,77]=0.333,X[20,77]=0.227,X[21,77]=0.522,X[22,77]=0.718,X[23,77]=0.584,X[24,77]=0.580,X[25,77]=0.588,X[26,77]=0.424,X[27,77]=0.439,X[28,77]=0.584,X[29,77]=0.541,X[30,77]=0.467,X[31,77]=0.557,X[32,77]=0.271,X[33,77]=0.392,X[34,77]=0.525,X[35,77]=0.349,X[36,77]=0.345,X[37,77]=0.600,X[38,77]=0.412,X[39,77]=0.349,X[40,77]=0.502,X[41,77]=0.463,X[42,77]=0.424,X[43,77]=0.341,X[44,77]=0.278,X[45,77]=0.388,X[46,77]=0.251,X[47,77]=0.322,X[48,77]=0.224,X[49,77]=0.329,X[50,77]=0.263 X[51,77]=0.200,X[52,77]=0.282,X[53,77]=0.553,X[54,77]=0.718,X[55,77]=0.506,X[56,77]=0.494,X[57,77]=0.627,X[58,77]=0.514,X[59,77]=0.647,X[60,77]=0.561,X[61,77]=0.588,X[62,77]=0.565,X[63,77]=0.451,X[64,77]=0.314,X[65,77]=0.341,X[66,77]=0.400,X[67,77]=0.306,X[68,77]=0.322,X[69,77]=0.322,X[70,77]=0.259,X[71,77]=0.302,X[72,77]=0.702,X[73,77]=0.584,X[74,77]=0.569,X[75,77]=0.451,X[76,77]=0.463,X[77,77]=0.467,X[78,77]=0.612,X[79,77]=0.537,X[80,77]=0.651,X[81,77]=0.541,X[82,77]=0.275,X[83,77]=0.396,X[84,77]=0.471,X[85,77]=0.431,X[86,77]=0.337,X[87,77]=0.624,X[88,77]=0.616,X[89,77]=0.341,X[90,77]=0.424,X[91,77]=0.408,X[92,77]=0.439,X[93,77]=0.294,X[94,77]=0.294,X[95,77]=0.412,X[96,77]=0.384,X[97,77]=0.267,X[98,77]=0.247,X[99,77]=0.341,X[100,77]=0.271 X[1,78]=0.353,X[2,78]=0.173,X[3,78]=0.455,X[4,78]=0.596,X[5,78]=0.537,X[6,78]=0.471,X[7,78]=0.376,X[8,78]=0.486,X[9,78]=0.549,X[10,78]=0.494,X[11,78]=0.608,X[12,78]=0.525,X[13,78]=0.459,X[14,78]=0.306,X[15,78]=0.416,X[16,78]=0.400,X[17,78]=0.537,X[18,78]=0.537,X[19,78]=0.584,X[20,78]=0.486,X[21,78]=0.596,X[22,78]=0.663,X[23,78]=0.471,X[24,78]=0.424,X[25,78]=0.302,X[26,78]=0.522,X[27,78]=0.412,X[28,78]=0.561,X[29,78]=0.565,X[30,78]=0.518,X[31,78]=0.537,X[32,78]=0.400,X[33,78]=0.282,X[34,78]=0.427,X[35,78]=0.475,X[36,78]=0.380,X[37,78]=0.494,X[38,78]=0.396,X[39,78]=0.322,X[40,78]=0.384,X[41,78]=0.345,X[42,78]=0.349,X[43,78]=0.310,X[44,78]=0.306,X[45,78]=0.365,X[46,78]=0.231,X[47,78]=0.216,X[48,78]=0.282,X[49,78]=0.298,X[50,78]=0.337 X[51,78]=0.310,X[52,78]=0.286,X[53,78]=0.427,X[54,78]=0.541,X[55,78]=0.549,X[56,78]=0.408,X[57,78]=0.357,X[58,78]=0.388,X[59,78]=0.424,X[60,78]=0.510,X[61,78]=0.592,X[62,78]=0.639,X[63,78]=0.675,X[64,78]=0.325,X[65,78]=0.420,X[66,78]=0.439,X[67,78]=0.447,X[68,78]=0.541,X[69,78]=0.588,X[70,78]=0.486,X[71,78]=0.463,X[72,78]=0.714,X[73,78]=0.471,X[74,78]=0.424,X[75,78]=0.337,X[76,78]=0.608,X[77,78]=0.416,X[78,78]=0.486,X[79,78]=0.518,X[80,78]=0.573,X[81,78]=0.565,X[82,78]=0.341,X[83,78]=0.282,X[84,78]=0.329,X[85,78]=0.541,X[86,78]=0.349,X[87,78]=0.482,X[88,78]=0.451,X[89,78]=0.392,X[90,78]=0.267,X[91,78]=0.349,X[92,78]=0.361,X[93,78]=0.341,X[94,78]=0.349,X[95,78]=0.349,X[96,78]=0.278,X[97,78]=0.192,X[98,78]=0.275,X[99,78]=0.298,X[100,78]=0.333 X[1,79]=0.365,X[2,79]=0.216,X[3,79]=0.325,X[4,79]=0.557,X[5,79]=0.404,X[6,79]=0.541,X[7,79]=0.451,X[8,79]=0.459,X[9,79]=0.537,X[10,79]=0.431,X[11,79]=0.576,X[12,79]=0.600,X[13,79]=0.525,X[14,79]=0.322,X[15,79]=0.325,X[16,79]=0.345,X[17,79]=0.329,X[18,79]=0.259,X[19,79]=0.329,X[20,79]=0.467,X[21,79]=0.490,X[22,79]=0.667,X[23,79]=0.725,X[24,79]=0.443,X[25,79]=0.341,X[26,79]=0.451,X[27,79]=0.424,X[28,79]=0.475,X[29,79]=0.482,X[30,79]=0.718,X[31,79]=0.600,X[32,79]=0.424,X[33,79]=0.322,X[34,79]=0.314,X[35,79]=0.349,X[36,79]=0.255,X[37,79]=0.467,X[38,79]=0.408,X[39,79]=0.396,X[40,79]=0.322,X[41,79]=0.322,X[42,79]=0.267,X[43,79]=0.267,X[44,79]=0.275,X[45,79]=0.267,X[46,79]=0.278,X[47,79]=0.302,X[48,79]=0.396,X[49,79]=0.396,X[50,79]=0.380 X[51,79]=0.325,X[52,79]=0.208,X[53,79]=0.310,X[54,79]=0.537,X[55,79]=0.404,X[56,79]=0.502,X[57,79]=0.592,X[58,79]=0.420,X[59,79]=0.608,X[60,79]=0.514,X[61,79]=0.478,X[62,79]=0.576,X[63,79]=0.639,X[64,79]=0.286,X[65,79]=0.314,X[66,79]=0.349,X[67,79]=0.286,X[68,79]=0.239,X[69,79]=0.329,X[70,79]=0.475,X[71,79]=0.522,X[72,79]=0.651,X[73,79]=0.698,X[74,79]=0.478,X[75,79]=0.431,X[76,79]=0.412,X[77,79]=0.443,X[78,79]=0.482,X[79,79]=0.514,X[80,79]=0.651,X[81,79]=0.584,X[82,79]=0.380,X[83,79]=0.314,X[84,79]=0.310,X[85,79]=0.239,X[86,79]=0.239,X[87,79]=0.463,X[88,79]=0.373,X[89,79]=0.412,X[90,79]=0.337,X[91,79]=0.329,X[92,79]=0.263,X[93,79]=0.247,X[94,79]=0.271,X[95,79]=0.267,X[96,79]=0.275,X[97,79]=0.306,X[98,79]=0.333,X[99,79]=0.400,X[100,79]=0.376 X[1,80]=0.408,X[2,80]=0.353,X[3,80]=0.388,X[4,80]=0.549,X[5,80]=0.490,X[6,80]=0.349,X[7,80]=0.592,X[8,80]=0.451,X[9,80]=0.443,X[10,80]=0.471,X[11,80]=0.475,X[12,80]=0.549,X[13,80]=0.651,X[14,80]=0.533,X[15,80]=0.271,X[16,80]=0.349,X[17,80]=0.376,X[18,80]=0.431,X[19,80]=0.447,X[20,80]=0.600,X[21,80]=0.620,X[22,80]=0.710,X[23,80]=0.565,X[24,80]=0.643,X[25,80]=0.573,X[26,80]=0.384,X[27,80]=0.443,X[28,80]=0.322,X[29,80]=0.392,X[30,80]=0.384,X[31,80]=0.565,X[32,80]=0.467,X[33,80]=0.357,X[34,80]=0.435,X[35,80]=0.427,X[36,80]=0.463,X[37,80]=0.600,X[38,80]=0.690,X[39,80]=0.718,X[40,80]=0.714,X[41,80]=0.718,X[42,80]=0.702,X[43,80]=0.718,X[44,80]=0.494,X[45,80]=0.671,X[46,80]=0.671,X[47,80]=0.678,X[48,80]=0.647,X[49,80]=0.408,X[50,80]=0.427 X[51,80]=0.345,X[52,80]=0.294,X[53,80]=0.341,X[54,80]=0.525,X[55,80]=0.447,X[56,80]=0.424,X[57,80]=0.447,X[58,80]=0.475,X[59,80]=0.451,X[60,80]=0.576,X[61,80]=0.494,X[62,80]=0.604,X[63,80]=0.612,X[64,80]=0.533,X[65,80]=0.286,X[66,80]=0.329,X[67,80]=0.369,X[68,80]=0.431,X[69,80]=0.439,X[70,80]=0.624,X[71,80]=0.549,X[72,80]=0.612,X[73,80]=0.600,X[74,80]=0.635,X[75,80]=0.573,X[76,80]=0.506,X[77,80]=0.467,X[78,80]=0.314,X[79,80]=0.314,X[80,80]=0.439,X[81,80]=0.573,X[82,80]=0.490,X[83,80]=0.361,X[84,80]=0.420,X[85,80]=0.420,X[86,80]=0.467,X[87,80]=0.616,X[88,80]=0.678,X[89,80]=0.714,X[90,80]=0.765,X[91,80]=0.682,X[92,80]=0.686,X[93,80]=0.776,X[94,80]=0.490,X[95,80]=0.561,X[96,80]=0.584,X[97,80]=0.725,X[98,80]=0.659,X[99,80]=0.384,X[100,80]=0.427 X[1,81]=0.325,X[2,81]=0.314,X[3,81]=0.239,X[4,81]=0.373,X[5,81]=0.404,X[6,81]=0.376,X[7,81]=0.486,X[8,81]=0.420,X[9,81]=0.353,X[10,81]=0.463,X[11,81]=0.604,X[12,81]=0.576,X[13,81]=0.620,X[14,81]=0.580,X[15,81]=0.537,X[16,81]=0.620,X[17,81]=0.451,X[18,81]=0.443,X[19,81]=0.498,X[20,81]=0.518,X[21,81]=0.561,X[22,81]=0.510,X[23,81]=0.537,X[24,81]=0.494,X[25,81]=0.643,X[26,81]=0.694,X[27,81]=0.706,X[28,81]=0.506,X[29,81]=0.475,X[30,81]=0.635,X[31,81]=0.620,X[32,81]=0.557,X[33,81]=0.737,X[34,81]=0.573,X[35,81]=0.702,X[36,81]=0.667,X[37,81]=0.690,X[38,81]=0.392,X[39,81]=0.443,X[40,81]=0.561,X[41,81]=0.565,X[42,81]=0.349,X[43,81]=0.514,X[44,81]=0.553,X[45,81]=0.482,X[46,81]=0.537,X[47,81]=0.514,X[48,81]=0.765,X[49,81]=0.722,X[50,81]=0.459 X[51,81]=0.251,X[52,81]=0.235,X[53,81]=0.220,X[54,81]=0.408,X[55,81]=0.408,X[56,81]=0.365,X[57,81]=0.467,X[58,81]=0.482,X[59,81]=0.439,X[60,81]=0.506,X[61,81]=0.620,X[62,81]=0.639,X[63,81]=0.635,X[64,81]=0.541,X[65,81]=0.557,X[66,81]=0.576,X[67,81]=0.498,X[68,81]=0.439,X[69,81]=0.518,X[70,81]=0.482,X[71,81]=0.549,X[72,81]=0.627,X[73,81]=0.553,X[74,81]=0.502,X[75,81]=0.592,X[76,81]=0.675,X[77,81]=0.718,X[78,81]=0.522,X[79,81]=0.561,X[80,81]=0.616,X[81,81]=0.635,X[82,81]=0.576,X[83,81]=0.741,X[84,81]=0.651,X[85,81]=0.596,X[86,81]=0.624,X[87,81]=0.698,X[88,81]=0.557,X[89,81]=0.439,X[90,81]=0.478,X[91,81]=0.549,X[92,81]=0.369,X[93,81]=0.525,X[94,81]=0.545,X[95,81]=0.518,X[96,81]=0.549,X[97,81]=0.518,X[98,81]=0.651,X[99,81]=0.725,X[100,81]=0.427 X[1,82]=0.365,X[2,82]=0.325,X[3,82]=0.290,X[4,82]=0.251,X[5,82]=0.486,X[6,82]=0.376,X[7,82]=0.373,X[8,82]=0.412,X[9,82]=0.353,X[10,82]=0.282,X[11,82]=0.302,X[12,82]=0.467,X[13,82]=0.310,X[14,82]=0.322,X[15,82]=0.690,X[16,82]=0.502,X[17,82]=0.396,X[18,82]=0.408,X[19,82]=0.498,X[20,82]=0.576,X[21,82]=0.408,X[22,82]=0.663,X[23,82]=0.529,X[24,82]=0.506,X[25,82]=0.737,X[26,82]=0.616,X[27,82]=0.600,X[28,82]=0.702,X[29,82]=0.600,X[30,82]=0.525,X[31,82]=0.576,X[32,82]=0.667,X[33,82]=0.722,X[34,82]=0.357,X[35,82]=0.565,X[36,82]=0.561,X[37,82]=0.424,X[38,82]=0.380,X[39,82]=0.592,X[40,82]=0.510,X[41,82]=0.498,X[42,82]=0.447,X[43,82]=0.353,X[44,82]=0.600,X[45,82]=0.373,X[46,82]=0.486,X[47,82]=0.561,X[48,82]=0.667,X[49,82]=0.749,X[50,82]=0.678 X[51,82]=0.325,X[52,82]=0.341,X[53,82]=0.306,X[54,82]=0.243,X[55,82]=0.514,X[56,82]=0.365,X[57,82]=0.545,X[58,82]=0.510,X[59,82]=0.412,X[60,82]=0.306,X[61,82]=0.310,X[62,82]=0.392,X[63,82]=0.408,X[64,82]=0.329,X[65,82]=0.706,X[66,82]=0.608,X[67,82]=0.475,X[68,82]=0.435,X[69,82]=0.514,X[70,82]=0.541,X[71,82]=0.400,X[72,82]=0.514,X[73,82]=0.584,X[74,82]=0.494,X[75,82]=0.682,X[76,82]=0.659,X[77,82]=0.584,X[78,82]=0.686,X[79,82]=0.612,X[80,82]=0.612,X[81,82]=0.592,X[82,82]=0.620,X[83,82]=0.753,X[84,82]=0.580,X[85,82]=0.533,X[86,82]=0.576,X[87,82]=0.404,X[88,82]=0.361,X[89,82]=0.357,X[90,82]=0.510,X[91,82]=0.537,X[92,82]=0.427,X[93,82]=0.486,X[94,82]=0.612,X[95,82]=0.420,X[96,82]=0.616,X[97,82]=0.612,X[98,82]=0.592,X[99,82]=0.718,X[100,82]=0.643 X[1,83]=0.463,X[2,83]=0.345,X[3,83]=0.400,X[4,83]=0.337,X[5,83]=0.365,X[6,83]=0.365,X[7,83]=0.376,X[8,83]=0.333,X[9,83]=0.373,X[10,83]=0.306,X[11,83]=0.357,X[12,83]=0.443,X[13,83]=0.722,X[14,83]=0.761,X[15,83]=0.671,X[16,83]=0.659,X[17,83]=0.357,X[18,83]=0.325,X[19,83]=0.361,X[20,83]=0.467,X[21,83]=0.400,X[22,83]=0.337,X[23,83]=0.471,X[24,83]=0.671,X[25,83]=0.471,X[26,83]=0.675,X[27,83]=0.569,X[28,83]=0.600,X[29,83]=0.714,X[30,83]=0.635,X[31,83]=0.698,X[32,83]=0.502,X[33,83]=0.561,X[34,83]=0.263,X[35,83]=0.357,X[36,83]=0.384,X[37,83]=0.486,X[38,83]=0.475,X[39,83]=0.525,X[40,83]=0.451,X[41,83]=0.412,X[42,83]=0.541,X[43,83]=0.412,X[44,83]=0.596,X[45,83]=0.427,X[46,83]=0.400,X[47,83]=0.337,X[48,83]=0.447,X[49,83]=0.569,X[50,83]=0.706 X[51,83]=0.337,X[52,83]=0.380,X[53,83]=0.427,X[54,83]=0.333,X[55,83]=0.376,X[56,83]=0.388,X[57,83]=0.459,X[58,83]=0.357,X[59,83]=0.388,X[60,83]=0.286,X[61,83]=0.369,X[62,83]=0.412,X[63,83]=0.612,X[64,83]=0.769,X[65,83]=0.635,X[66,83]=0.627,X[67,83]=0.384,X[68,83]=0.345,X[69,83]=0.365,X[70,83]=0.518,X[71,83]=0.478,X[72,83]=0.388,X[73,83]=0.486,X[74,83]=0.651,X[75,83]=0.690,X[76,83]=0.494,X[77,83]=0.561,X[78,83]=0.643,X[79,83]=0.702,X[80,83]=0.655,X[81,83]=0.678,X[82,83]=0.533,X[83,83]=0.584,X[84,83]=0.369,X[85,83]=0.392,X[86,83]=0.369,X[87,83]=0.420,X[88,83]=0.353,X[89,83]=0.447,X[90,83]=0.584,X[91,83]=0.439,X[92,83]=0.506,X[93,83]=0.408,X[94,83]=0.573,X[95,83]=0.463,X[96,83]=0.482,X[97,83]=0.486,X[98,83]=0.451,X[99,83]=0.596,X[100,83]=0.690 X[1,84]=0.518,X[2,84]=0.298,X[3,84]=0.329,X[4,84]=0.443,X[5,84]=0.486,X[6,84]=0.353,X[7,84]=0.427,X[8,84]=0.392,X[9,84]=0.349,X[10,84]=0.396,X[11,84]=0.494,X[12,84]=0.718,X[13,84]=0.729,X[14,84]=0.753,X[15,84]=0.624,X[16,84]=0.592,X[17,84]=0.357,X[18,84]=0.333,X[19,84]=0.384,X[20,84]=0.396,X[21,84]=0.361,X[22,84]=0.333,X[23,84]=0.369,X[24,84]=0.475,X[25,84]=0.569,X[26,84]=0.541,X[27,84]=0.608,X[28,84]=0.569,X[29,84]=0.675,X[30,84]=0.600,X[31,84]=0.659,X[32,84]=0.608,X[33,84]=0.647,X[34,84]=0.263,X[35,84]=0.545,X[36,84]=0.514,X[37,84]=0.443,X[38,84]=0.443,X[39,84]=0.345,X[40,84]=0.467,X[41,84]=0.408,X[42,84]=0.525,X[43,84]=0.290,X[44,84]=0.357,X[45,84]=0.392,X[46,84]=0.576,X[47,84]=0.576,X[48,84]=0.651,X[49,84]=0.596,X[50,84]=0.698 X[51,84]=0.278,X[52,84]=0.294,X[53,84]=0.322,X[54,84]=0.404,X[55,84]=0.486,X[56,84]=0.376,X[57,84]=0.478,X[58,84]=0.396,X[59,84]=0.329,X[60,84]=0.404,X[61,84]=0.525,X[62,84]=0.627,X[63,84]=0.769,X[64,84]=0.745,X[65,84]=0.604,X[66,84]=0.518,X[67,84]=0.424,X[68,84]=0.329,X[69,84]=0.404,X[70,84]=0.400,X[71,84]=0.384,X[72,84]=0.357,X[73,84]=0.376,X[74,84]=0.514,X[75,84]=0.643,X[76,84]=0.486,X[77,84]=0.604,X[78,84]=0.596,X[79,84]=0.592,X[80,84]=0.549,X[81,84]=0.635,X[82,84]=0.643,X[83,84]=0.675,X[84,84]=0.361,X[85,84]=0.420,X[86,84]=0.475,X[87,84]=0.361,X[88,84]=0.361,X[89,84]=0.400,X[90,84]=0.510,X[91,84]=0.396,X[92,84]=0.525,X[93,84]=0.424,X[94,84]=0.365,X[95,84]=0.337,X[96,84]=0.478,X[97,84]=0.537,X[98,84]=0.643,X[99,84]=0.616,X[100,84]=0.690 X[1,85]=0.451,X[2,85]=0.231,X[3,85]=0.376,X[4,85]=0.408,X[5,85]=0.400,X[6,85]=0.349,X[7,85]=0.392,X[8,85]=0.557,X[9,85]=0.576,X[10,85]=0.588,X[11,85]=0.565,X[12,85]=0.592,X[13,85]=0.553,X[14,85]=0.675,X[15,85]=0.710,X[16,85]=0.725,X[17,85]=0.475,X[18,85]=0.416,X[19,85]=0.349,X[20,85]=0.373,X[21,85]=0.400,X[22,85]=0.369,X[23,85]=0.392,X[24,85]=0.365,X[25,85]=0.471,X[26,85]=0.612,X[27,85]=0.573,X[28,85]=0.529,X[29,85]=0.471,X[30,85]=0.486,X[31,85]=0.549,X[32,85]=0.490,X[33,85]=0.569,X[34,85]=0.314,X[35,85]=0.384,X[36,85]=0.380,X[37,85]=0.486,X[38,85]=0.561,X[39,85]=0.365,X[40,85]=0.384,X[41,85]=0.443,X[42,85]=0.341,X[43,85]=0.376,X[44,85]=0.471,X[45,85]=0.392,X[46,85]=0.451,X[47,85]=0.400,X[48,85]=0.439,X[49,85]=0.494,X[50,85]=0.553 X[51,85]=0.314,X[52,85]=0.314,X[53,85]=0.376,X[54,85]=0.369,X[55,85]=0.420,X[56,85]=0.380,X[57,85]=0.525,X[58,85]=0.502,X[59,85]=0.671,X[60,85]=0.592,X[61,85]=0.627,X[62,85]=0.655,X[63,85]=0.514,X[64,85]=0.663,X[65,85]=0.690,X[66,85]=0.714,X[67,85]=0.541,X[68,85]=0.400,X[69,85]=0.353,X[70,85]=0.376,X[71,85]=0.404,X[72,85]=0.384,X[73,85]=0.388,X[74,85]=0.365,X[75,85]=0.373,X[76,85]=0.475,X[77,85]=0.580,X[78,85]=0.549,X[79,85]=0.604,X[80,85]=0.396,X[81,85]=0.573,X[82,85]=0.396,X[83,85]=0.573,X[84,85]=0.341,X[85,85]=0.475,X[86,85]=0.404,X[87,85]=0.475,X[88,85]=0.620,X[89,85]=0.376,X[90,85]=0.431,X[91,85]=0.502,X[92,85]=0.400,X[93,85]=0.494,X[94,85]=0.490,X[95,85]=0.369,X[96,85]=0.322,X[97,85]=0.522,X[98,85]=0.533,X[99,85]=0.455,X[100,85]=0.533 X[1,86]=0.475,X[2,86]=0.357,X[3,86]=0.361,X[4,86]=0.420,X[5,86]=0.522,X[6,86]=0.600,X[7,86]=0.584,X[8,86]=0.439,X[9,86]=0.624,X[10,86]=0.573,X[11,86]=0.616,X[12,86]=0.620,X[13,86]=0.580,X[14,86]=0.600,X[15,86]=0.663,X[16,86]=0.725,X[17,86]=0.722,X[18,86]=0.651,X[19,86]=0.408,X[20,86]=0.341,X[21,86]=0.282,X[22,86]=0.286,X[23,86]=0.290,X[24,86]=0.302,X[25,86]=0.298,X[26,86]=0.322,X[27,86]=0.345,X[28,86]=0.439,X[29,86]=0.435,X[30,86]=0.357,X[31,86]=0.376,X[32,86]=0.302,X[33,86]=0.278,X[34,86]=0.459,X[35,86]=0.337,X[36,86]=0.424,X[37,86]=0.463,X[38,86]=0.565,X[39,86]=0.518,X[40,86]=0.502,X[41,86]=0.404,X[42,86]=0.518,X[43,86]=0.384,X[44,86]=0.467,X[45,86]=0.278,X[46,86]=0.290,X[47,86]=0.349,X[48,86]=0.486,X[49,86]=0.427,X[50,86]=0.557 X[51,86]=0.424,X[52,86]=0.345,X[53,86]=0.361,X[54,86]=0.412,X[55,86]=0.506,X[56,86]=0.588,X[57,86]=0.639,X[58,86]=0.498,X[59,86]=0.498,X[60,86]=0.518,X[61,86]=0.561,X[62,86]=0.514,X[63,86]=0.490,X[64,86]=0.553,X[65,86]=0.671,X[66,86]=0.659,X[67,86]=0.702,X[68,86]=0.655,X[69,86]=0.404,X[70,86]=0.341,X[71,86]=0.329,X[72,86]=0.290,X[73,86]=0.294,X[74,86]=0.298,X[75,86]=0.290,X[76,86]=0.337,X[77,86]=0.361,X[78,86]=0.412,X[79,86]=0.408,X[80,86]=0.345,X[81,86]=0.369,X[82,86]=0.341,X[83,86]=0.275,X[84,86]=0.349,X[85,86]=0.400,X[86,86]=0.467,X[87,86]=0.490,X[88,86]=0.494,X[89,86]=0.549,X[90,86]=0.471,X[91,86]=0.427,X[92,86]=0.447,X[93,86]=0.275,X[94,86]=0.486,X[95,86]=0.298,X[96,86]=0.380,X[97,86]=0.325,X[98,86]=0.361,X[99,86]=0.439,X[100,86]=0.588 X[1,87]=0.690,X[2,87]=0.353,X[3,87]=0.286,X[4,87]=0.451,X[5,87]=0.478,X[6,87]=0.373,X[7,87]=0.416,X[8,87]=0.373,X[9,87]=0.439,X[10,87]=0.475,X[11,87]=0.510,X[12,87]=0.502,X[13,87]=0.616,X[14,87]=0.573,X[15,87]=0.388,X[16,87]=0.639,X[17,87]=0.651,X[18,87]=0.663,X[19,87]=0.737,X[20,87]=0.412,X[21,87]=0.380,X[22,87]=0.439,X[23,87]=0.443,X[24,87]=0.498,X[25,87]=0.451,X[26,87]=0.404,X[27,87]=0.424,X[28,87]=0.408,X[29,87]=0.420,X[30,87]=0.459,X[31,87]=0.455,X[32,87]=0.392,X[33,87]=0.388,X[34,87]=0.565,X[35,87]=0.533,X[36,87]=0.478,X[37,87]=0.424,X[38,87]=0.545,X[39,87]=0.325,X[40,87]=0.463,X[41,87]=0.478,X[42,87]=0.525,X[43,87]=0.565,X[44,87]=0.349,X[45,87]=0.408,X[46,87]=0.459,X[47,87]=0.569,X[48,87]=0.302,X[49,87]=0.553,X[50,87]=0.467 X[51,87]=0.624,X[52,87]=0.322,X[53,87]=0.314,X[54,87]=0.424,X[55,87]=0.518,X[56,87]=0.357,X[57,87]=0.502,X[58,87]=0.431,X[59,87]=0.443,X[60,87]=0.490,X[61,87]=0.478,X[62,87]=0.463,X[63,87]=0.518,X[64,87]=0.561,X[65,87]=0.392,X[66,87]=0.514,X[67,87]=0.702,X[68,87]=0.655,X[69,87]=0.749,X[70,87]=0.392,X[71,87]=0.357,X[72,87]=0.443,X[73,87]=0.451,X[74,87]=0.494,X[75,87]=0.443,X[76,87]=0.463,X[77,87]=0.427,X[78,87]=0.400,X[79,87]=0.427,X[80,87]=0.384,X[81,87]=0.455,X[82,87]=0.376,X[83,87]=0.416,X[84,87]=0.482,X[85,87]=0.525,X[86,87]=0.494,X[87,87]=0.482,X[88,87]=0.431,X[89,87]=0.435,X[90,87]=0.376,X[91,87]=0.502,X[92,87]=0.533,X[93,87]=0.541,X[94,87]=0.357,X[95,87]=0.404,X[96,87]=0.459,X[97,87]=0.482,X[98,87]=0.475,X[99,87]=0.545,X[100,87]=0.514 X[1,88]=0.694,X[2,88]=0.420,X[3,88]=0.337,X[4,88]=0.447,X[5,88]=0.463,X[6,88]=0.416,X[7,88]=0.435,X[8,88]=0.565,X[9,88]=0.471,X[10,88]=0.443,X[11,88]=0.565,X[12,88]=0.518,X[13,88]=0.627,X[14,88]=0.663,X[15,88]=0.549,X[16,88]=0.639,X[17,88]=0.600,X[18,88]=0.694,X[19,88]=0.667,X[20,88]=0.490,X[21,88]=0.329,X[22,88]=0.443,X[23,88]=0.396,X[24,88]=0.675,X[25,88]=0.333,X[26,88]=0.573,X[27,88]=0.616,X[28,88]=0.651,X[29,88]=0.635,X[30,88]=0.710,X[31,88]=0.580,X[32,88]=0.455,X[33,88]=0.471,X[34,88]=0.494,X[35,88]=0.400,X[36,88]=0.322,X[37,88]=0.427,X[38,88]=0.557,X[39,88]=0.498,X[40,88]=0.525,X[41,88]=0.459,X[42,88]=0.588,X[43,88]=0.498,X[44,88]=0.416,X[45,88]=0.388,X[46,88]=0.553,X[47,88]=0.463,X[48,88]=0.396,X[49,88]=0.345,X[50,88]=0.518 X[51,88]=0.682,X[52,88]=0.365,X[53,88]=0.365,X[54,88]=0.451,X[55,88]=0.478,X[56,88]=0.416,X[57,88]=0.510,X[58,88]=0.482,X[59,88]=0.549,X[60,88]=0.486,X[61,88]=0.518,X[62,88]=0.525,X[63,88]=0.553,X[64,88]=0.639,X[65,88]=0.525,X[66,88]=0.541,X[67,88]=0.635,X[68,88]=0.690,X[69,88]=0.675,X[70,88]=0.447,X[71,88]=0.329,X[72,88]=0.412,X[73,88]=0.404,X[74,88]=0.647,X[75,88]=0.396,X[76,88]=0.416,X[77,88]=0.620,X[78,88]=0.659,X[79,88]=0.494,X[80,88]=0.686,X[81,88]=0.541,X[82,88]=0.443,X[83,88]=0.490,X[84,88]=0.588,X[85,88]=0.478,X[86,88]=0.333,X[87,88]=0.455,X[88,88]=0.549,X[89,88]=0.424,X[90,88]=0.502,X[91,88]=0.506,X[92,88]=0.561,X[93,88]=0.463,X[94,88]=0.431,X[95,88]=0.400,X[96,88]=0.451,X[97,88]=0.463,X[98,88]=0.471,X[99,88]=0.341,X[100,88]=0.537 X[1,89]=0.478,X[2,89]=0.376,X[3,89]=0.388,X[4,89]=0.443,X[5,89]=0.416,X[6,89]=0.545,X[7,89]=0.498,X[8,89]=0.600,X[9,89]=0.549,X[10,89]=0.561,X[11,89]=0.549,X[12,89]=0.443,X[13,89]=0.608,X[14,89]=0.655,X[15,89]=0.694,X[16,89]=0.624,X[17,89]=0.573,X[18,89]=0.659,X[19,89]=0.690,X[20,89]=0.620,X[21,89]=0.514,X[22,89]=0.361,X[23,89]=0.431,X[24,89]=0.667,X[25,89]=0.506,X[26,89]=0.404,X[27,89]=0.573,X[28,89]=0.722,X[29,89]=0.510,X[30,89]=0.494,X[31,89]=0.604,X[32,89]=0.365,X[33,89]=0.290,X[34,89]=0.424,X[35,89]=0.400,X[36,89]=0.502,X[37,89]=0.490,X[38,89]=0.412,X[39,89]=0.373,X[40,89]=0.471,X[41,89]=0.565,X[42,89]=0.439,X[43,89]=0.318,X[44,89]=0.400,X[45,89]=0.494,X[46,89]=0.353,X[47,89]=0.400,X[48,89]=0.478,X[49,89]=0.498,X[50,89]=0.424 X[51,89]=0.498,X[52,89]=0.361,X[53,89]=0.392,X[54,89]=0.514,X[55,89]=0.420,X[56,89]=0.549,X[57,89]=0.459,X[58,89]=0.510,X[59,89]=0.596,X[60,89]=0.514,X[61,89]=0.545,X[62,89]=0.459,X[63,89]=0.545,X[64,89]=0.631,X[65,89]=0.694,X[66,89]=0.678,X[67,89]=0.671,X[68,89]=0.678,X[69,89]=0.714,X[70,89]=0.643,X[71,89]=0.718,X[72,89]=0.306,X[73,89]=0.451,X[74,89]=0.671,X[75,89]=0.620,X[76,89]=0.400,X[77,89]=0.647,X[78,89]=0.694,X[79,89]=0.471,X[80,89]=0.502,X[81,89]=0.635,X[82,89]=0.333,X[83,89]=0.290,X[84,89]=0.314,X[85,89]=0.431,X[86,89]=0.455,X[87,89]=0.525,X[88,89]=0.424,X[89,89]=0.533,X[90,89]=0.388,X[91,89]=0.573,X[92,89]=0.431,X[93,89]=0.318,X[94,89]=0.447,X[95,89]=0.506,X[96,89]=0.502,X[97,89]=0.408,X[98,89]=0.361,X[99,89]=0.502,X[100,89]=0.373 X[1,90]=0.404,X[2,90]=0.435,X[3,90]=0.353,X[4,90]=0.357,X[5,90]=0.373,X[6,90]=0.392,X[7,90]=0.392,X[8,90]=0.565,X[9,90]=0.522,X[10,90]=0.455,X[11,90]=0.365,X[12,90]=0.380,X[13,90]=0.549,X[14,90]=0.502,X[15,90]=0.490,X[16,90]=0.714,X[17,90]=0.612,X[18,90]=0.584,X[19,90]=0.627,X[20,90]=0.569,X[21,90]=0.702,X[22,90]=0.306,X[23,90]=0.333,X[24,90]=0.478,X[25,90]=0.624,X[26,90]=0.525,X[27,90]=0.420,X[28,90]=0.710,X[29,90]=0.561,X[30,90]=0.443,X[31,90]=0.592,X[32,90]=0.247,X[33,90]=0.259,X[34,90]=0.267,X[35,90]=0.267,X[36,90]=0.251,X[37,90]=0.290,X[38,90]=0.376,X[39,90]=0.510,X[40,90]=0.357,X[41,90]=0.396,X[42,90]=0.490,X[43,90]=0.349,X[44,90]=0.408,X[45,90]=0.361,X[46,90]=0.271,X[47,90]=0.388,X[48,90]=0.275,X[49,90]=0.271,X[50,90]=0.353 X[51,90]=0.455,X[52,90]=0.400,X[53,90]=0.357,X[54,90]=0.345,X[55,90]=0.380,X[56,90]=0.420,X[57,90]=0.451,X[58,90]=0.431,X[59,90]=0.404,X[60,90]=0.451,X[61,90]=0.384,X[62,90]=0.486,X[63,90]=0.420,X[64,90]=0.486,X[65,90]=0.494,X[66,90]=0.608,X[67,90]=0.631,X[68,90]=0.616,X[69,90]=0.620,X[70,90]=0.569,X[71,90]=0.631,X[72,90]=0.451,X[73,90]=0.376,X[74,90]=0.510,X[75,90]=0.596,X[76,90]=0.482,X[77,90]=0.392,X[78,90]=0.729,X[79,90]=0.647,X[80,90]=0.459,X[81,90]=0.608,X[82,90]=0.251,X[83,90]=0.259,X[84,90]=0.235,X[85,90]=0.251,X[86,90]=0.251,X[87,90]=0.298,X[88,90]=0.404,X[89,90]=0.502,X[90,90]=0.404,X[91,90]=0.396,X[92,90]=0.525,X[93,90]=0.518,X[94,90]=0.396,X[95,90]=0.404,X[96,90]=0.376,X[97,90]=0.369,X[98,90]=0.310,X[99,90]=0.278,X[100,90]=0.361 X[1,91]=0.635,X[2,91]=0.596,X[3,91]=0.392,X[4,91]=0.365,X[5,91]=0.392,X[6,91]=0.427,X[7,91]=0.380,X[8,91]=0.435,X[9,91]=0.490,X[10,91]=0.471,X[11,91]=0.518,X[12,91]=0.369,X[13,91]=0.435,X[14,91]=0.494,X[15,91]=0.443,X[16,91]=0.529,X[17,91]=0.600,X[18,91]=0.486,X[19,91]=0.608,X[20,91]=0.569,X[21,91]=0.651,X[22,91]=0.651,X[23,91]=0.255,X[24,91]=0.365,X[25,91]=0.384,X[26,91]=0.435,X[27,91]=0.384,X[28,91]=0.475,X[29,91]=0.478,X[30,91]=0.545,X[31,91]=0.549,X[32,91]=0.267,X[33,91]=0.376,X[34,91]=0.475,X[35,91]=0.533,X[36,91]=0.651,X[37,91]=0.710,X[38,91]=0.600,X[39,91]=0.596,X[40,91]=0.498,X[41,91]=0.451,X[42,91]=0.302,X[43,91]=0.333,X[44,91]=0.329,X[45,91]=0.380,X[46,91]=0.408,X[47,91]=0.408,X[48,91]=0.498,X[49,91]=0.741,X[50,91]=0.467 X[51,91]=0.682,X[52,91]=0.455,X[53,91]=0.376,X[54,91]=0.376,X[55,91]=0.384,X[56,91]=0.420,X[57,91]=0.396,X[58,91]=0.435,X[59,91]=0.471,X[60,91]=0.475,X[61,91]=0.506,X[62,91]=0.412,X[63,91]=0.396,X[64,91]=0.506,X[65,91]=0.435,X[66,91]=0.471,X[67,91]=0.565,X[68,91]=0.478,X[69,91]=0.569,X[70,91]=0.557,X[71,91]=0.588,X[72,91]=0.576,X[73,91]=0.259,X[74,91]=0.392,X[75,91]=0.380,X[76,91]=0.604,X[77,91]=0.412,X[78,91]=0.486,X[79,91]=0.451,X[80,91]=0.678,X[81,91]=0.486,X[82,91]=0.267,X[83,91]=0.388,X[84,91]=0.416,X[85,91]=0.404,X[86,91]=0.647,X[87,91]=0.686,X[88,91]=0.663,X[89,91]=0.659,X[90,91]=0.518,X[91,91]=0.424,X[92,91]=0.302,X[93,91]=0.294,X[94,91]=0.333,X[95,91]=0.380,X[96,91]=0.400,X[97,91]=0.412,X[98,91]=0.400,X[99,91]=0.737,X[100,91]=0.475 X[1,92]=0.553,X[2,92]=0.639,X[3,92]=0.392,X[4,92]=0.388,X[5,92]=0.439,X[6,92]=0.561,X[7,92]=0.549,X[8,92]=0.541,X[9,92]=0.431,X[10,92]=0.561,X[11,92]=0.557,X[12,92]=0.471,X[13,92]=0.522,X[14,92]=0.420,X[15,92]=0.341,X[16,92]=0.259,X[17,92]=0.471,X[18,92]=0.514,X[19,92]=0.659,X[20,92]=0.612,X[21,92]=0.576,X[22,92]=0.427,X[23,92]=0.275,X[24,92]=0.278,X[25,92]=0.439,X[26,92]=0.416,X[27,92]=0.420,X[28,92]=0.463,X[29,92]=0.514,X[30,92]=0.467,X[31,92]=0.431,X[32,92]=0.278,X[33,92]=0.545,X[34,92]=0.600,X[35,92]=0.537,X[36,92]=0.647,X[37,92]=0.655,X[38,92]=0.655,X[39,92]=0.737,X[40,92]=0.667,X[41,92]=0.722,X[42,92]=0.702,X[43,92]=0.631,X[44,92]=0.588,X[45,92]=0.588,X[46,92]=0.533,X[47,92]=0.443,X[48,92]=0.400,X[49,92]=0.565,X[50,92]=0.549 X[51,92]=0.592,X[52,92]=0.655,X[53,92]=0.404,X[54,92]=0.400,X[55,92]=0.463,X[56,92]=0.502,X[57,92]=0.482,X[58,92]=0.565,X[59,92]=0.365,X[60,92]=0.525,X[61,92]=0.557,X[62,92]=0.478,X[63,92]=0.502,X[64,92]=0.400,X[65,92]=0.329,X[66,92]=0.259,X[67,92]=0.455,X[68,92]=0.514,X[69,92]=0.612,X[70,92]=0.584,X[71,92]=0.647,X[72,92]=0.580,X[73,92]=0.282,X[74,92]=0.322,X[75,92]=0.451,X[76,92]=0.525,X[77,92]=0.369,X[78,92]=0.498,X[79,92]=0.494,X[80,92]=0.451,X[81,92]=0.400,X[82,92]=0.286,X[83,92]=0.557,X[84,92]=0.486,X[85,92]=0.522,X[86,92]=0.698,X[87,92]=0.620,X[88,92]=0.604,X[89,92]=0.710,X[90,92]=0.612,X[91,92]=0.710,X[92,92]=0.698,X[93,92]=0.686,X[94,92]=0.596,X[95,92]=0.580,X[96,92]=0.553,X[97,92]=0.502,X[98,92]=0.376,X[99,92]=0.580,X[100,92]=0.522 X[1,93]=0.667,X[2,93]=0.733,X[3,93]=0.486,X[4,93]=0.600,X[5,93]=0.365,X[6,93]=0.416,X[7,93]=0.427,X[8,93]=0.588,X[9,93]=0.494,X[10,93]=0.600,X[11,93]=0.486,X[12,93]=0.392,X[13,93]=0.384,X[14,93]=0.475,X[15,93]=0.455,X[16,93]=0.431,X[17,93]=0.408,X[18,93]=0.455,X[19,93]=0.494,X[20,93]=0.616,X[21,93]=0.416,X[22,93]=0.298,X[23,93]=0.298,X[24,93]=0.318,X[25,93]=0.306,X[26,93]=0.302,X[27,93]=0.310,X[28,93]=0.263,X[29,93]=0.302,X[30,93]=0.345,X[31,93]=0.337,X[32,93]=0.325,X[33,93]=0.506,X[34,93]=0.573,X[35,93]=0.624,X[36,93]=0.686,X[37,93]=0.537,X[38,93]=0.518,X[39,93]=0.541,X[40,93]=0.561,X[41,93]=0.576,X[42,93]=0.643,X[43,93]=0.655,X[44,93]=0.714,X[45,93]=0.741,X[46,93]=0.600,X[47,93]=0.627,X[48,93]=0.298,X[49,93]=0.490,X[50,93]=0.624 X[51,93]=0.616,X[52,93]=0.745,X[53,93]=0.565,X[54,93]=0.522,X[55,93]=0.384,X[56,93]=0.435,X[57,93]=0.533,X[58,93]=0.533,X[59,93]=0.498,X[60,93]=0.647,X[61,93]=0.459,X[62,93]=0.357,X[63,93]=0.451,X[64,93]=0.478,X[65,93]=0.475,X[66,93]=0.482,X[67,93]=0.498,X[68,93]=0.478,X[69,93]=0.420,X[70,93]=0.651,X[71,93]=0.545,X[72,93]=0.302,X[73,93]=0.302,X[74,93]=0.325,X[75,93]=0.314,X[76,93]=0.322,X[77,93]=0.302,X[78,93]=0.271,X[79,93]=0.286,X[80,93]=0.282,X[81,93]=0.333,X[82,93]=0.337,X[83,93]=0.569,X[84,93]=0.690,X[85,93]=0.647,X[86,93]=0.749,X[87,93]=0.525,X[88,93]=0.514,X[89,93]=0.573,X[90,93]=0.675,X[91,93]=0.604,X[92,93]=0.635,X[93,93]=0.580,X[94,93]=0.725,X[95,93]=0.733,X[96,93]=0.686,X[97,93]=0.506,X[98,93]=0.365,X[99,93]=0.494,X[100,93]=0.627 X[1,94]=0.533,X[2,94]=0.600,X[3,94]=0.490,X[4,94]=0.353,X[5,94]=0.361,X[6,94]=0.361,X[7,94]=0.373,X[8,94]=0.435,X[9,94]=0.459,X[10,94]=0.376,X[11,94]=0.525,X[12,94]=0.478,X[13,94]=0.431,X[14,94]=0.427,X[15,94]=0.349,X[16,94]=0.518,X[17,94]=0.431,X[18,94]=0.514,X[19,94]=0.392,X[20,94]=0.702,X[21,94]=0.725,X[22,94]=0.671,X[23,94]=0.706,X[24,94]=0.682,X[25,94]=0.718,X[26,94]=0.710,X[27,94]=0.729,X[28,94]=0.737,X[29,94]=0.784,X[30,94]=0.588,X[31,94]=0.404,X[32,94]=0.388,X[33,94]=0.565,X[34,94]=0.639,X[35,94]=0.451,X[36,94]=0.416,X[37,94]=0.569,X[38,94]=0.635,X[39,94]=0.631,X[40,94]=0.663,X[41,94]=0.541,X[42,94]=0.576,X[43,94]=0.596,X[44,94]=0.588,X[45,94]=0.635,X[46,94]=0.773,X[47,94]=0.612,X[48,94]=0.275,X[49,94]=0.424,X[50,94]=0.506 X[51,94]=0.600,X[52,94]=0.655,X[53,94]=0.573,X[54,94]=0.329,X[55,94]=0.376,X[56,94]=0.416,X[57,94]=0.408,X[58,94]=0.353,X[59,94]=0.376,X[60,94]=0.357,X[61,94]=0.576,X[62,94]=0.545,X[63,94]=0.420,X[64,94]=0.455,X[65,94]=0.365,X[66,94]=0.431,X[67,94]=0.494,X[68,94]=0.514,X[69,94]=0.408,X[70,94]=0.733,X[71,94]=0.765,X[72,94]=0.698,X[73,94]=0.706,X[74,94]=0.686,X[75,94]=0.647,X[76,94]=0.682,X[77,94]=0.729,X[78,94]=0.753,X[79,94]=0.737,X[80,94]=0.733,X[81,94]=0.416,X[82,94]=0.416,X[83,94]=0.557,X[84,94]=0.557,X[85,94]=0.482,X[86,94]=0.361,X[87,94]=0.584,X[88,94]=0.647,X[89,94]=0.506,X[90,94]=0.580,X[91,94]=0.506,X[92,94]=0.549,X[93,94]=0.604,X[94,94]=0.620,X[95,94]=0.647,X[96,94]=0.745,X[97,94]=0.600,X[98,94]=0.333,X[99,94]=0.416,X[100,94]=0.502 X[1,95]=0.345,X[2,95]=0.251,X[3,95]=0.306,X[4,95]=0.341,X[5,95]=0.349,X[6,95]=0.263,X[7,95]=0.420,X[8,95]=0.404,X[9,95]=0.498,X[10,95]=0.365,X[11,95]=0.349,X[12,95]=0.310,X[13,95]=0.290,X[14,95]=0.220,X[15,95]=0.243,X[16,95]=0.263,X[17,95]=0.282,X[18,95]=0.431,X[19,95]=0.573,X[20,95]=0.675,X[21,95]=0.631,X[22,95]=0.620,X[23,95]=0.639,X[24,95]=0.608,X[25,95]=0.659,X[26,95]=0.333,X[27,95]=0.247,X[28,95]=0.620,X[29,95]=0.596,X[30,95]=0.655,X[31,95]=0.702,X[32,95]=0.302,X[33,95]=0.482,X[34,95]=0.463,X[35,95]=0.514,X[36,95]=0.635,X[37,95]=0.522,X[38,95]=0.486,X[39,95]=0.373,X[40,95]=0.408,X[41,95]=0.573,X[42,95]=0.612,X[43,95]=0.455,X[44,95]=0.584,X[45,95]=0.498,X[46,95]=0.608,X[47,95]=0.639,X[48,95]=0.235,X[49,95]=0.333,X[50,95]=0.400 X[51,95]=0.290,X[52,95]=0.278,X[53,95]=0.310,X[54,95]=0.325,X[55,95]=0.357,X[56,95]=0.286,X[57,95]=0.459,X[58,95]=0.420,X[59,95]=0.439,X[60,95]=0.341,X[61,95]=0.357,X[62,95]=0.416,X[63,95]=0.314,X[64,95]=0.204,X[65,95]=0.239,X[66,95]=0.255,X[67,95]=0.278,X[68,95]=0.439,X[69,95]=0.608,X[70,95]=0.698,X[71,95]=0.667,X[72,95]=0.643,X[73,95]=0.604,X[74,95]=0.620,X[75,95]=0.545,X[76,95]=0.435,X[77,95]=0.243,X[78,95]=0.631,X[79,95]=0.671,X[80,95]=0.569,X[81,95]=0.624,X[82,95]=0.337,X[83,95]=0.486,X[84,95]=0.525,X[85,95]=0.439,X[86,95]=0.655,X[87,95]=0.475,X[88,95]=0.565,X[89,95]=0.400,X[90,95]=0.384,X[91,95]=0.600,X[92,95]=0.600,X[93,95]=0.557,X[94,95]=0.600,X[95,95]=0.525,X[96,95]=0.667,X[97,95]=0.651,X[98,95]=0.294,X[99,95]=0.345,X[100,95]=0.380 X[1,96]=0.271,X[2,96]=0.333,X[3,96]=0.376,X[4,96]=0.310,X[5,96]=0.353,X[6,96]=0.329,X[7,96]=0.282,X[8,96]=0.255,X[9,96]=0.251,X[10,96]=0.267,X[11,96]=0.255,X[12,96]=0.239,X[13,96]=0.294,X[14,96]=0.306,X[15,96]=0.271,X[16,96]=0.322,X[17,96]=0.388,X[18,96]=0.659,X[19,96]=0.435,X[20,96]=0.561,X[21,96]=0.447,X[22,96]=0.482,X[23,96]=0.518,X[24,96]=0.318,X[25,96]=0.525,X[26,96]=0.529,X[27,96]=0.329,X[28,96]=0.475,X[29,96]=0.459,X[30,96]=0.455,X[31,96]=0.592,X[32,96]=0.349,X[33,96]=0.475,X[34,96]=0.325,X[35,96]=0.384,X[36,96]=0.522,X[37,96]=0.608,X[38,96]=0.498,X[39,96]=0.463,X[40,96]=0.596,X[41,96]=0.490,X[42,96]=0.549,X[43,96]=0.600,X[44,96]=0.706,X[45,96]=0.584,X[46,96]=0.537,X[47,96]=0.718,X[48,96]=0.278,X[49,96]=0.267,X[50,96]=0.259 X[51,96]=0.310,X[52,96]=0.353,X[53,96]=0.380,X[54,96]=0.310,X[55,96]=0.333,X[56,96]=0.306,X[57,96]=0.388,X[58,96]=0.294,X[59,96]=0.231,X[60,96]=0.259,X[61,96]=0.267,X[62,96]=0.275,X[63,96]=0.259,X[64,96]=0.310,X[65,96]=0.278,X[66,96]=0.341,X[67,96]=0.259,X[68,96]=0.690,X[69,96]=0.400,X[70,96]=0.537,X[71,96]=0.510,X[72,96]=0.478,X[73,96]=0.471,X[74,96]=0.365,X[75,96]=0.333,X[76,96]=0.435,X[77,96]=0.318,X[78,96]=0.451,X[79,96]=0.514,X[80,96]=0.322,X[81,96]=0.545,X[82,96]=0.380,X[83,96]=0.486,X[84,96]=0.357,X[85,96]=0.345,X[86,96]=0.541,X[87,96]=0.541,X[88,96]=0.490,X[89,96]=0.518,X[90,96]=0.627,X[91,96]=0.533,X[92,96]=0.557,X[93,96]=0.635,X[94,96]=0.702,X[95,96]=0.561,X[96,96]=0.471,X[97,96]=0.643,X[98,96]=0.275,X[99,96]=0.275,X[100,96]=0.259 X[1,97]=0.624,X[2,97]=0.612,X[3,97]=0.525,X[4,97]=0.651,X[5,97]=0.533,X[6,97]=0.459,X[7,97]=0.443,X[8,97]=0.408,X[9,97]=0.361,X[10,97]=0.365,X[11,97]=0.384,X[12,97]=0.380,X[13,97]=0.333,X[14,97]=0.416,X[15,97]=0.490,X[16,97]=0.631,X[17,97]=0.529,X[18,97]=0.482,X[19,97]=0.482,X[20,97]=0.306,X[21,97]=0.373,X[22,97]=0.431,X[23,97]=0.263,X[24,97]=0.416,X[25,97]=0.204,X[26,97]=0.424,X[27,97]=0.427,X[28,97]=0.337,X[29,97]=0.349,X[30,97]=0.698,X[31,97]=0.475,X[32,97]=0.314,X[33,97]=0.333,X[34,97]=0.325,X[35,97]=0.310,X[36,97]=0.392,X[37,97]=0.663,X[38,97]=0.412,X[39,97]=0.545,X[40,97]=0.510,X[41,97]=0.537,X[42,97]=0.600,X[43,97]=0.455,X[44,97]=0.490,X[45,97]=0.533,X[46,97]=0.498,X[47,97]=0.655,X[48,97]=0.675,X[49,97]=0.576,X[50,97]=0.647 X[51,97]=0.690,X[52,97]=0.675,X[53,97]=0.561,X[54,97]=0.620,X[55,97]=0.549,X[56,97]=0.471,X[57,97]=0.545,X[58,97]=0.431,X[59,97]=0.353,X[60,97]=0.373,X[61,97]=0.380,X[62,97]=0.361,X[63,97]=0.357,X[64,97]=0.416,X[65,97]=0.541,X[66,97]=0.635,X[67,97]=0.518,X[68,97]=0.431,X[69,97]=0.451,X[70,97]=0.302,X[71,97]=0.365,X[72,97]=0.416,X[73,97]=0.353,X[74,97]=0.388,X[75,97]=0.463,X[76,97]=0.267,X[77,97]=0.392,X[78,97]=0.329,X[79,97]=0.420,X[80,97]=0.553,X[81,97]=0.439,X[82,97]=0.337,X[83,97]=0.329,X[84,97]=0.365,X[85,97]=0.357,X[86,97]=0.376,X[87,97]=0.678,X[88,97]=0.408,X[89,97]=0.655,X[90,97]=0.580,X[91,97]=0.549,X[92,97]=0.612,X[93,97]=0.490,X[94,97]=0.439,X[95,97]=0.522,X[96,97]=0.557,X[97,97]=0.698,X[98,97]=0.525,X[99,97]=0.565,X[100,97]=0.671 X[1,98]=0.600,X[2,98]=0.675,X[3,98]=0.667,X[4,98]=0.745,X[5,98]=0.733,X[6,98]=0.675,X[7,98]=0.624,X[8,98]=0.710,X[9,98]=0.580,X[10,98]=0.490,X[11,98]=0.482,X[12,98]=0.357,X[13,98]=0.329,X[14,98]=0.380,X[15,98]=0.455,X[16,98]=0.443,X[17,98]=0.545,X[18,98]=0.443,X[19,98]=0.447,X[20,98]=0.451,X[21,98]=0.380,X[22,98]=0.455,X[23,98]=0.263,X[24,98]=0.302,X[25,98]=0.478,X[26,98]=0.424,X[27,98]=0.388,X[28,98]=0.361,X[29,98]=0.404,X[30,98]=0.553,X[31,98]=0.329,X[32,98]=0.333,X[33,98]=0.471,X[34,98]=0.424,X[35,98]=0.439,X[36,98]=0.396,X[37,98]=0.278,X[38,98]=0.561,X[39,98]=0.384,X[40,98]=0.514,X[41,98]=0.349,X[42,98]=0.443,X[43,98]=0.392,X[44,98]=0.404,X[45,98]=0.533,X[46,98]=0.541,X[47,98]=0.490,X[48,98]=0.710,X[49,98]=0.710,X[50,98]=0.514 X[51,98]=0.627,X[52,98]=0.667,X[53,98]=0.600,X[54,98]=0.718,X[55,98]=0.722,X[56,98]=0.733,X[57,98]=0.737,X[58,98]=0.694,X[59,98]=0.639,X[60,98]=0.482,X[61,98]=0.482,X[62,98]=0.435,X[63,98]=0.353,X[64,98]=0.369,X[65,98]=0.455,X[66,98]=0.435,X[67,98]=0.447,X[68,98]=0.447,X[69,98]=0.439,X[70,98]=0.490,X[71,98]=0.447,X[72,98]=0.510,X[73,98]=0.275,X[74,98]=0.314,X[75,98]=0.333,X[76,98]=0.349,X[77,98]=0.376,X[78,98]=0.361,X[79,98]=0.455,X[80,98]=0.400,X[81,98]=0.325,X[82,98]=0.392,X[83,98]=0.490,X[84,98]=0.494,X[85,98]=0.298,X[86,98]=0.475,X[87,98]=0.278,X[88,98]=0.396,X[89,98]=0.604,X[90,98]=0.596,X[91,98]=0.290,X[92,98]=0.471,X[93,98]=0.459,X[94,98]=0.400,X[95,98]=0.518,X[96,98]=0.525,X[97,98]=0.541,X[98,98]=0.451,X[99,98]=0.698,X[100,98]=0.502 X[1,99]=0.596,X[2,99]=0.643,X[3,99]=0.718,X[4,99]=0.643,X[5,99]=0.600,X[6,99]=0.608,X[7,99]=0.651,X[8,99]=0.745,X[9,99]=0.757,X[10,99]=0.725,X[11,99]=0.675,X[12,99]=0.478,X[13,99]=0.345,X[14,99]=0.388,X[15,99]=0.416,X[16,99]=0.451,X[17,99]=0.404,X[18,99]=0.408,X[19,99]=0.353,X[20,99]=0.451,X[21,99]=0.329,X[22,99]=0.365,X[23,99]=0.275,X[24,99]=0.325,X[25,99]=0.275,X[26,99]=0.510,X[27,99]=0.416,X[28,99]=0.482,X[29,99]=0.349,X[30,99]=0.694,X[31,99]=0.337,X[32,99]=0.337,X[33,99]=0.384,X[34,99]=0.478,X[35,99]=0.435,X[36,99]=0.510,X[37,99]=0.400,X[38,99]=0.678,X[39,99]=0.600,X[40,99]=0.624,X[41,99]=0.522,X[42,99]=0.380,X[43,99]=0.557,X[44,99]=0.600,X[45,99]=0.651,X[46,99]=0.608,X[47,99]=0.275,X[48,99]=0.463,X[49,99]=0.694,X[50,99]=0.702 X[51,99]=0.643,X[52,99]=0.710,X[53,99]=0.722,X[54,99]=0.675,X[55,99]=0.631,X[56,99]=0.616,X[57,99]=0.737,X[58,99]=0.749,X[59,99]=0.714,X[60,99]=0.749,X[61,99]=0.722,X[62,99]=0.729,X[63,99]=0.361,X[64,99]=0.384,X[65,99]=0.459,X[66,99]=0.396,X[67,99]=0.357,X[68,99]=0.392,X[69,99]=0.314,X[70,99]=0.494,X[71,99]=0.325,X[72,99]=0.475,X[73,99]=0.294,X[74,99]=0.392,X[75,99]=0.290,X[76,99]=0.451,X[77,99]=0.420,X[78,99]=0.435,X[79,99]=0.463,X[80,99]=0.557,X[81,99]=0.314,X[82,99]=0.341,X[83,99]=0.369,X[84,99]=0.400,X[85,99]=0.557,X[86,99]=0.553,X[87,99]=0.392,X[88,99]=0.553,X[89,99]=0.655,X[90,99]=0.753,X[91,99]=0.514,X[92,99]=0.345,X[93,99]=0.404,X[94,99]=0.600,X[95,99]=0.635,X[96,99]=0.510,X[97,99]=0.651,X[98,99]=0.314,X[99,99]=0.706,X[100,99]=0.675 X[1,100]=0.584,X[2,100]=0.553,X[3,100]=0.675,X[4,100]=0.698,X[5,100]=0.753,X[6,100]=0.745,X[7,100]=0.600,X[8,100]=0.749,X[9,100]=0.741,X[10,100]=0.655,X[11,100]=0.639,X[12,100]=0.714,X[13,100]=0.349,X[14,100]=0.380,X[15,100]=0.306,X[16,100]=0.427,X[17,100]=0.392,X[18,100]=0.325,X[19,100]=0.224,X[20,100]=0.314,X[21,100]=0.278,X[22,100]=0.447,X[23,100]=0.271,X[24,100]=0.392,X[25,100]=0.318,X[26,100]=0.345,X[27,100]=0.278,X[28,100]=0.333,X[29,100]=0.580,X[30,100]=0.698,X[31,100]=0.373,X[32,100]=0.318,X[33,100]=0.349,X[34,100]=0.502,X[35,100]=0.447,X[36,100]=0.451,X[37,100]=0.294,X[38,100]=0.404,X[39,100]=0.447,X[40,100]=0.675,X[41,100]=0.569,X[42,100]=0.498,X[43,100]=0.459,X[44,100]=0.553,X[45,100]=0.588,X[46,100]=0.522,X[47,100]=0.243,X[48,100]=0.290,X[49,100]=0.373,X[50,100]=0.620 X[51,100]=0.533,X[52,100]=0.510,X[53,100]=0.631,X[54,100]=0.698,X[55,100]=0.725,X[56,100]=0.714,X[57,100]=0.698,X[58,100]=0.608,X[59,100]=0.655,X[60,100]=0.588,X[61,100]=0.604,X[62,100]=0.671,X[63,100]=0.369,X[64,100]=0.392,X[65,100]=0.310,X[66,100]=0.369,X[67,100]=0.349,X[68,100]=0.282,X[69,100]=0.239,X[70,100]=0.369,X[71,100]=0.561,X[72,100]=0.498,X[73,100]=0.251,X[74,100]=0.471,X[75,100]=0.400,X[76,100]=0.224,X[77,100]=0.329,X[78,100]=0.341,X[79,100]=0.467,X[80,100]=0.686,X[81,100]=0.345,X[82,100]=0.329,X[83,100]=0.369,X[84,100]=0.502,X[85,100]=0.478,X[86,100]=0.420,X[87,100]=0.255,X[88,100]=0.251,X[89,100]=0.498,X[90,100]=0.545,X[91,100]=0.522,X[92,100]=0.490,X[93,100]=0.435,X[94,100]=0.529,X[95,100]=0.584,X[96,100]=0.482,X[97,100]=0.490,X[98,100]=0.290,X[99,100]=0.380,X[100,100]=0.557 init: float res = 0.0 float lowtrap=abs(round(real(@itrap)*#maxiter)) float hightrap=abs(round(imag(@itrap)*#maxiter)) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF float iterexp = 0 float scale = @colors*#pi/128 complex zold = (0,0) complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float rotx = #x float roty = #y int irotx int iroty int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) loop: complex z1 = #z*(1-@weight) + p*@weight IF (@converge > 0) iterexp = iterexp + exp(-cabs(z1)) ELSE iterexp = iterexp + exp(-1/(cabs(zold - z1))) ENDIF zold = #z final: rotx = rotx/#width roty = roty/#height float xx = rotx rotx = #width+0.5*#width+(rotx-0.5)*cos(@angle*#pi/180)*#width - (roty-0.5)*sin(@angle*#pi/180)*#height roty = #height+0.5*#height+(roty-0.5)*cos(@angle*#pi/180)*#height + (xx-0.5)*sin(@angle*#pi/180)*#width irotx = abs(round(rotx)) iroty = abs(round(roty)) float smooth = iterexp*scale ez = cos(smooth)+flip(sin(smooth)) float angle = atan2(ez) IF (angle < 0) angle = angle + #pi * 2 ENDIF IF (@trap == true) IF (#numiter>=lowtrap)&&(#numiter<=hightrap) ; Is pixel in trap? #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ELSE #solid = true ENDIF ELSE #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ENDIF if @solidb && cabs(#z) == 0 #solid = true endif default: title = "Exp Rock2 Texture" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param solidb caption = "Solid background" default = false endparam param colors caption = "Color Spread" default = 2.0 hint = "2.0 approximates the iteration count. \ Use 10.0 for convergent fractals." endparam param trap caption = "Use Iteration Trap" default = false endparam param itrap caption="Trap Limits" default=(0.0,1.0) hint="Between 0.0 and 1.0" endparam param palrange caption = "Palette Range" default = 256.0 hint = "256 means use the whole palette." endparam param scale caption = "texture scale" default = 1.0 endparam param wate caption = "texture weight" default = 0.05 endparam param hite caption = "texture warp" default = 0.01 endparam param fbms caption = "texture fBm Weight" default = 0.01 endparam param angle caption = "texture rotation" default = 0.0 endparam param converge caption = "Fractal Type" default = 1 enum = "Convergent" "Divergent" hint = "Mandelbrot is Divergent, Newton is Convergent." endparam param weight caption = "fBm Weight" default = 0.5 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default = 10.0 endparam } exp_coral_texture { ; Ron Barnett, October 2003 global: float X[101,101] X[1,1]=0.075,X[2,1]=0.157,X[3,1]=0.278,X[4,1]=0.247,X[5,1]=0.208,X[6,1]=0.216,X[7,1]=0.231,X[8,1]=0.235,X[9,1]=0.227,X[10,1]=0.176,X[11,1]=0.118,X[12,1]=0.067,X[13,1]=0.078,X[14,1]=0.129,X[15,1]=0.192,X[16,1]=0.278,X[17,1]=0.286,X[18,1]=0.200,X[19,1]=0.078,X[20,1]=0.063,X[21,1]=0.075,X[22,1]=0.263,X[23,1]=0.475,X[24,1]=0.380,X[25,1]=0.208,X[26,1]=0.278,X[27,1]=0.361,X[28,1]=0.408,X[29,1]=0.420,X[30,1]=0.412,X[31,1]=0.357,X[32,1]=0.306,X[33,1]=0.431,X[34,1]=0.447,X[35,1]=0.306,X[36,1]=0.361,X[37,1]=0.424,X[38,1]=0.396,X[39,1]=0.400,X[40,1]=0.392,X[41,1]=0.369,X[42,1]=0.388,X[43,1]=0.325,X[44,1]=0.267,X[45,1]=0.239,X[46,1]=0.325,X[47,1]=0.404,X[48,1]=0.427,X[49,1]=0.365,X[50,1]=0.278 X[51,1]=0.200,X[52,1]=0.122,X[53,1]=0.059,X[54,1]=0.149,X[55,1]=0.247,X[56,1]=0.133,X[57,1]=0.063,X[58,1]=0.102,X[59,1]=0.098,X[60,1]=0.063,X[61,1]=0.118,X[62,1]=0.302,X[63,1]=0.302,X[64,1]=0.318,X[65,1]=0.349,X[66,1]=0.396,X[67,1]=0.412,X[68,1]=0.400,X[69,1]=0.345,X[70,1]=0.298,X[71,1]=0.294,X[72,1]=0.271,X[73,1]=0.290,X[74,1]=0.306,X[75,1]=0.286,X[76,1]=0.200,X[77,1]=0.122,X[78,1]=0.075,X[79,1]=0.063,X[80,1]=0.106,X[81,1]=0.294,X[82,1]=0.392,X[83,1]=0.282,X[84,1]=0.302,X[85,1]=0.184,X[86,1]=0.051,X[87,1]=0.059,X[88,1]=0.133,X[89,1]=0.204,X[90,1]=0.192,X[91,1]=0.188,X[92,1]=0.169,X[93,1]=0.180,X[94,1]=0.196,X[95,1]=0.173,X[96,1]=0.192,X[97,1]=0.192,X[98,1]=0.263,X[99,1]=0.294,X[100,1]=0.118 X[1,2]=0.043,X[2,2]=0.165,X[3,2]=0.365,X[4,2]=0.259,X[5,2]=0.208,X[6,2]=0.271,X[7,2]=0.247,X[8,2]=0.173,X[9,2]=0.192,X[10,2]=0.212,X[11,2]=0.188,X[12,2]=0.149,X[13,2]=0.180,X[14,2]=0.224,X[15,2]=0.255,X[16,2]=0.286,X[17,2]=0.169,X[18,2]=0.067,X[19,2]=0.082,X[20,2]=0.063,X[21,2]=0.039,X[22,2]=0.192,X[23,2]=0.353,X[24,2]=0.208,X[25,2]=0.196,X[26,2]=0.247,X[27,2]=0.310,X[28,2]=0.404,X[29,2]=0.439,X[30,2]=0.447,X[31,2]=0.404,X[32,2]=0.325,X[33,2]=0.282,X[34,2]=0.353,X[35,2]=0.180,X[36,2]=0.173,X[37,2]=0.224,X[38,2]=0.169,X[39,2]=0.208,X[40,2]=0.251,X[41,2]=0.384,X[42,2]=0.451,X[43,2]=0.475,X[44,2]=0.459,X[45,2]=0.318,X[46,2]=0.333,X[47,2]=0.416,X[48,2]=0.416,X[49,2]=0.325,X[50,2]=0.325 X[51,2]=0.388,X[52,2]=0.200,X[53,2]=0.059,X[54,2]=0.145,X[55,2]=0.231,X[56,2]=0.133,X[57,2]=0.039,X[58,2]=0.137,X[59,2]=0.188,X[60,2]=0.165,X[61,2]=0.290,X[62,2]=0.400,X[63,2]=0.290,X[64,2]=0.337,X[65,2]=0.337,X[66,2]=0.271,X[67,2]=0.286,X[68,2]=0.341,X[69,2]=0.302,X[70,2]=0.290,X[71,2]=0.310,X[72,2]=0.349,X[73,2]=0.357,X[74,2]=0.400,X[75,2]=0.392,X[76,2]=0.322,X[77,2]=0.259,X[78,2]=0.212,X[79,2]=0.122,X[80,2]=0.243,X[81,2]=0.361,X[82,2]=0.188,X[83,2]=0.071,X[84,2]=0.098,X[85,2]=0.059,X[86,2]=0.067,X[87,2]=0.125,X[88,2]=0.129,X[89,2]=0.157,X[90,2]=0.192,X[91,2]=0.180,X[92,2]=0.180,X[93,2]=0.204,X[94,2]=0.208,X[95,2]=0.192,X[96,2]=0.216,X[97,2]=0.286,X[98,2]=0.278,X[99,2]=0.337,X[100,2]=0.220 X[1,3]=0.118,X[2,3]=0.310,X[3,3]=0.404,X[4,3]=0.216,X[5,3]=0.243,X[6,3]=0.325,X[7,3]=0.310,X[8,3]=0.259,X[9,3]=0.176,X[10,3]=0.161,X[11,3]=0.259,X[12,3]=0.271,X[13,3]=0.247,X[14,3]=0.220,X[15,3]=0.169,X[16,3]=0.204,X[17,3]=0.137,X[18,3]=0.039,X[19,3]=0.047,X[20,3]=0.063,X[21,3]=0.067,X[22,3]=0.141,X[23,3]=0.239,X[24,3]=0.259,X[25,3]=0.329,X[26,3]=0.373,X[27,3]=0.384,X[28,3]=0.455,X[29,3]=0.490,X[30,3]=0.467,X[31,3]=0.431,X[32,3]=0.404,X[33,3]=0.333,X[34,3]=0.267,X[35,3]=0.224,X[36,3]=0.173,X[37,3]=0.180,X[38,3]=0.094,X[39,3]=0.051,X[40,3]=0.039,X[41,3]=0.247,X[42,3]=0.396,X[43,3]=0.275,X[44,3]=0.341,X[45,3]=0.290,X[46,3]=0.318,X[47,3]=0.408,X[48,3]=0.388,X[49,3]=0.298,X[50,3]=0.263 X[51,3]=0.318,X[52,3]=0.161,X[53,3]=0.051,X[54,3]=0.137,X[55,3]=0.224,X[56,3]=0.145,X[57,3]=0.059,X[58,3]=0.071,X[59,3]=0.137,X[60,3]=0.325,X[61,3]=0.471,X[62,3]=0.329,X[63,3]=0.275,X[64,3]=0.357,X[65,3]=0.306,X[66,3]=0.271,X[67,3]=0.290,X[68,3]=0.310,X[69,3]=0.329,X[70,3]=0.369,X[71,3]=0.396,X[72,3]=0.408,X[73,3]=0.447,X[74,3]=0.482,X[75,3]=0.486,X[76,3]=0.408,X[77,3]=0.369,X[78,3]=0.412,X[79,3]=0.369,X[80,3]=0.388,X[81,3]=0.361,X[82,3]=0.247,X[83,3]=0.204,X[84,3]=0.204,X[85,3]=0.169,X[86,3]=0.216,X[87,3]=0.271,X[88,3]=0.224,X[89,3]=0.090,X[90,3]=0.133,X[91,3]=0.188,X[92,3]=0.212,X[93,3]=0.243,X[94,3]=0.239,X[95,3]=0.267,X[96,3]=0.306,X[97,3]=0.200,X[98,3]=0.082,X[99,3]=0.278,X[100,3]=0.314 X[1,4]=0.322,X[2,4]=0.420,X[3,4]=0.267,X[4,4]=0.212,X[5,4]=0.361,X[6,4]=0.235,X[7,4]=0.243,X[8,4]=0.314,X[9,4]=0.235,X[10,4]=0.239,X[11,4]=0.376,X[12,4]=0.404,X[13,4]=0.322,X[14,4]=0.294,X[15,4]=0.227,X[16,4]=0.173,X[17,4]=0.110,X[18,4]=0.075,X[19,4]=0.149,X[20,4]=0.212,X[21,4]=0.271,X[22,4]=0.325,X[23,4]=0.373,X[24,4]=0.404,X[25,4]=0.447,X[26,4]=0.451,X[27,4]=0.486,X[28,4]=0.486,X[29,4]=0.447,X[30,4]=0.427,X[31,4]=0.455,X[32,4]=0.459,X[33,4]=0.435,X[34,4]=0.369,X[35,4]=0.286,X[36,4]=0.208,X[37,4]=0.212,X[38,4]=0.180,X[39,4]=0.090,X[40,4]=0.075,X[41,4]=0.184,X[42,4]=0.388,X[43,4]=0.314,X[44,4]=0.267,X[45,4]=0.255,X[46,4]=0.325,X[47,4]=0.380,X[48,4]=0.376,X[49,4]=0.282,X[50,4]=0.306 X[51,4]=0.275,X[52,4]=0.180,X[53,4]=0.110,X[54,4]=0.122,X[55,4]=0.200,X[56,4]=0.145,X[57,4]=0.063,X[58,4]=0.035,X[59,4]=0.027,X[60,4]=0.188,X[61,4]=0.275,X[62,4]=0.196,X[63,4]=0.290,X[64,4]=0.357,X[65,4]=0.341,X[66,4]=0.353,X[67,4]=0.380,X[68,4]=0.400,X[69,4]=0.404,X[70,4]=0.420,X[71,4]=0.467,X[72,4]=0.514,X[73,4]=0.518,X[74,4]=0.424,X[75,4]=0.267,X[76,4]=0.125,X[77,4]=0.145,X[78,4]=0.216,X[79,4]=0.325,X[80,4]=0.427,X[81,4]=0.475,X[82,4]=0.486,X[83,4]=0.463,X[84,4]=0.427,X[85,4]=0.361,X[86,4]=0.267,X[87,4]=0.192,X[88,4]=0.122,X[89,4]=0.122,X[90,4]=0.192,X[91,4]=0.231,X[92,4]=0.220,X[93,4]=0.220,X[94,4]=0.290,X[95,4]=0.282,X[96,4]=0.298,X[97,4]=0.243,X[98,4]=0.157,X[99,4]=0.243,X[100,4]=0.384 X[1,5]=0.447,X[2,5]=0.318,X[3,5]=0.200,X[4,5]=0.184,X[5,5]=0.133,X[6,5]=0.051,X[7,5]=0.157,X[8,5]=0.302,X[9,5]=0.267,X[10,5]=0.384,X[11,5]=0.443,X[12,5]=0.337,X[13,5]=0.263,X[14,5]=0.302,X[15,5]=0.306,X[16,5]=0.278,X[17,5]=0.180,X[18,5]=0.188,X[19,5]=0.290,X[20,5]=0.365,X[21,5]=0.400,X[22,5]=0.439,X[23,5]=0.490,X[24,5]=0.486,X[25,5]=0.494,X[26,5]=0.490,X[27,5]=0.431,X[28,5]=0.345,X[29,5]=0.369,X[30,5]=0.322,X[31,5]=0.318,X[32,5]=0.424,X[33,5]=0.443,X[34,5]=0.420,X[35,5]=0.376,X[36,5]=0.314,X[37,5]=0.231,X[38,5]=0.255,X[39,5]=0.231,X[40,5]=0.165,X[41,5]=0.216,X[42,5]=0.376,X[43,5]=0.463,X[44,5]=0.267,X[45,5]=0.251,X[46,5]=0.337,X[47,5]=0.373,X[48,5]=0.369,X[49,5]=0.267,X[50,5]=0.220 X[51,5]=0.227,X[52,5]=0.251,X[53,5]=0.208,X[54,5]=0.153,X[55,5]=0.173,X[56,5]=0.110,X[57,5]=0.051,X[58,5]=0.086,X[59,5]=0.118,X[60,5]=0.176,X[61,5]=0.216,X[62,5]=0.255,X[63,5]=0.314,X[64,5]=0.353,X[65,5]=0.384,X[66,5]=0.396,X[67,5]=0.420,X[68,5]=0.439,X[69,5]=0.467,X[70,5]=0.502,X[71,5]=0.471,X[72,5]=0.400,X[73,5]=0.416,X[74,5]=0.204,X[75,5]=0.035,X[76,5]=0.055,X[77,5]=0.063,X[78,5]=0.071,X[79,5]=0.169,X[80,5]=0.380,X[81,5]=0.361,X[82,5]=0.282,X[83,5]=0.365,X[84,5]=0.416,X[85,5]=0.310,X[86,5]=0.055,X[87,5]=0.063,X[88,5]=0.157,X[89,5]=0.220,X[90,5]=0.294,X[91,5]=0.298,X[92,5]=0.231,X[93,5]=0.216,X[94,5]=0.263,X[95,5]=0.149,X[96,5]=0.204,X[97,5]=0.337,X[98,5]=0.380,X[99,5]=0.388,X[100,5]=0.443 X[1,6]=0.431,X[2,6]=0.247,X[3,6]=0.204,X[4,6]=0.137,X[5,6]=0.043,X[6,6]=0.102,X[7,6]=0.173,X[8,6]=0.302,X[9,6]=0.380,X[10,6]=0.416,X[11,6]=0.282,X[12,6]=0.247,X[13,6]=0.200,X[14,6]=0.157,X[15,6]=0.220,X[16,6]=0.318,X[17,6]=0.341,X[18,6]=0.267,X[19,6]=0.298,X[20,6]=0.424,X[21,6]=0.471,X[22,6]=0.475,X[23,6]=0.384,X[24,6]=0.282,X[25,6]=0.216,X[26,6]=0.192,X[27,6]=0.286,X[28,6]=0.400,X[29,6]=0.404,X[30,6]=0.286,X[31,6]=0.153,X[32,6]=0.298,X[33,6]=0.404,X[34,6]=0.431,X[35,6]=0.435,X[36,6]=0.404,X[37,6]=0.318,X[38,6]=0.259,X[39,6]=0.247,X[40,6]=0.235,X[41,6]=0.212,X[42,6]=0.235,X[43,6]=0.353,X[44,6]=0.212,X[45,6]=0.251,X[46,6]=0.337,X[47,6]=0.369,X[48,6]=0.349,X[49,6]=0.176,X[50,6]=0.196 X[51,6]=0.227,X[52,6]=0.216,X[53,6]=0.224,X[54,6]=0.208,X[55,6]=0.173,X[56,6]=0.129,X[57,6]=0.137,X[58,6]=0.188,X[59,6]=0.235,X[60,6]=0.271,X[61,6]=0.306,X[62,6]=0.345,X[63,6]=0.376,X[64,6]=0.400,X[65,6]=0.412,X[66,6]=0.435,X[67,6]=0.459,X[68,6]=0.506,X[69,6]=0.506,X[70,6]=0.365,X[71,6]=0.125,X[72,6]=0.153,X[73,6]=0.369,X[74,6]=0.255,X[75,6]=0.039,X[76,6]=0.059,X[77,6]=0.055,X[78,6]=0.125,X[79,6]=0.169,X[80,6]=0.294,X[81,6]=0.396,X[82,6]=0.227,X[83,6]=0.259,X[84,6]=0.263,X[85,6]=0.192,X[86,6]=0.075,X[87,6]=0.086,X[88,6]=0.200,X[89,6]=0.314,X[90,6]=0.278,X[91,6]=0.141,X[92,6]=0.086,X[93,6]=0.216,X[94,6]=0.239,X[95,6]=0.098,X[96,6]=0.047,X[97,6]=0.071,X[98,6]=0.133,X[99,6]=0.227,X[100,6]=0.325 X[1,7]=0.396,X[2,7]=0.318,X[3,7]=0.196,X[4,7]=0.141,X[5,7]=0.129,X[6,7]=0.216,X[7,7]=0.235,X[8,7]=0.337,X[9,7]=0.482,X[10,7]=0.471,X[11,7]=0.314,X[12,7]=0.333,X[13,7]=0.298,X[14,7]=0.247,X[15,7]=0.204,X[16,7]=0.220,X[17,7]=0.298,X[18,7]=0.353,X[19,7]=0.294,X[20,7]=0.302,X[21,7]=0.282,X[22,7]=0.173,X[23,7]=0.059,X[24,7]=0.043,X[25,7]=0.031,X[26,7]=0.090,X[27,7]=0.337,X[28,7]=0.482,X[29,7]=0.369,X[30,7]=0.125,X[31,7]=0.141,X[32,7]=0.310,X[33,7]=0.278,X[34,7]=0.302,X[35,7]=0.392,X[36,7]=0.416,X[37,7]=0.373,X[38,7]=0.341,X[39,7]=0.286,X[40,7]=0.239,X[41,7]=0.263,X[42,7]=0.224,X[43,7]=0.086,X[44,7]=0.102,X[45,7]=0.278,X[46,7]=0.341,X[47,7]=0.373,X[48,7]=0.310,X[49,7]=0.086,X[50,7]=0.094 X[51,7]=0.161,X[52,7]=0.192,X[53,7]=0.196,X[54,7]=0.204,X[55,7]=0.212,X[56,7]=0.220,X[57,7]=0.247,X[58,7]=0.286,X[59,7]=0.337,X[60,7]=0.357,X[61,7]=0.388,X[62,7]=0.431,X[63,7]=0.467,X[64,7]=0.439,X[65,7]=0.439,X[66,7]=0.443,X[67,7]=0.412,X[68,7]=0.376,X[69,7]=0.290,X[70,7]=0.169,X[71,7]=0.020,X[72,7]=0.106,X[73,7]=0.290,X[74,7]=0.357,X[75,7]=0.114,X[76,7]=0.071,X[77,7]=0.145,X[78,7]=0.231,X[79,7]=0.192,X[80,7]=0.208,X[81,7]=0.404,X[82,7]=0.392,X[83,7]=0.325,X[84,7]=0.333,X[85,7]=0.298,X[86,7]=0.247,X[87,7]=0.157,X[88,7]=0.153,X[89,7]=0.157,X[90,7]=0.086,X[91,7]=0.047,X[92,7]=0.067,X[93,7]=0.243,X[94,7]=0.267,X[95,7]=0.102,X[96,7]=0.055,X[97,7]=0.071,X[98,7]=0.051,X[99,7]=0.051,X[100,7]=0.125 X[1,8]=0.302,X[2,8]=0.349,X[3,8]=0.212,X[4,8]=0.212,X[5,8]=0.231,X[6,8]=0.294,X[7,8]=0.349,X[8,8]=0.478,X[9,8]=0.412,X[10,8]=0.341,X[11,8]=0.376,X[12,8]=0.431,X[13,8]=0.518,X[14,8]=0.349,X[15,8]=0.212,X[16,8]=0.224,X[17,8]=0.239,X[18,8]=0.231,X[19,8]=0.137,X[20,8]=0.063,X[21,8]=0.063,X[22,8]=0.035,X[23,8]=0.043,X[24,8]=0.063,X[25,8]=0.086,X[26,8]=0.298,X[27,8]=0.486,X[28,8]=0.361,X[29,8]=0.227,X[30,8]=0.129,X[31,8]=0.102,X[32,8]=0.200,X[33,8]=0.188,X[34,8]=0.192,X[35,8]=0.325,X[36,8]=0.376,X[37,8]=0.380,X[38,8]=0.388,X[39,8]=0.357,X[40,8]=0.302,X[41,8]=0.271,X[42,8]=0.216,X[43,8]=0.078,X[44,8]=0.141,X[45,8]=0.302,X[46,8]=0.337,X[47,8]=0.361,X[48,8]=0.271,X[49,8]=0.075,X[50,8]=0.063 X[51,8]=0.051,X[52,8]=0.122,X[53,8]=0.208,X[54,8]=0.243,X[55,8]=0.275,X[56,8]=0.318,X[57,8]=0.361,X[58,8]=0.384,X[59,8]=0.420,X[60,8]=0.467,X[61,8]=0.482,X[62,8]=0.525,X[63,8]=0.455,X[64,8]=0.400,X[65,8]=0.431,X[66,8]=0.455,X[67,8]=0.439,X[68,8]=0.361,X[69,8]=0.251,X[70,8]=0.176,X[71,8]=0.102,X[72,8]=0.125,X[73,8]=0.231,X[74,8]=0.349,X[75,8]=0.231,X[76,8]=0.184,X[77,8]=0.275,X[78,8]=0.255,X[79,8]=0.090,X[80,8]=0.090,X[81,8]=0.278,X[82,8]=0.431,X[83,8]=0.278,X[84,8]=0.239,X[85,8]=0.263,X[86,8]=0.333,X[87,8]=0.306,X[88,8]=0.212,X[89,8]=0.098,X[90,8]=0.067,X[91,8]=0.047,X[92,8]=0.071,X[93,8]=0.196,X[94,8]=0.318,X[95,8]=0.176,X[96,8]=0.067,X[97,8]=0.071,X[98,8]=0.063,X[99,8]=0.055,X[100,8]=0.082 X[1,9]=0.212,X[2,9]=0.365,X[3,9]=0.282,X[4,9]=0.243,X[5,9]=0.325,X[6,9]=0.349,X[7,9]=0.447,X[8,9]=0.451,X[9,9]=0.129,X[10,9]=0.043,X[11,9]=0.086,X[12,9]=0.263,X[13,9]=0.412,X[14,9]=0.286,X[15,9]=0.278,X[16,9]=0.286,X[17,9]=0.310,X[18,9]=0.255,X[19,9]=0.176,X[20,9]=0.094,X[21,9]=0.055,X[22,9]=0.059,X[23,9]=0.059,X[24,9]=0.063,X[25,9]=0.227,X[26,9]=0.463,X[27,9]=0.451,X[28,9]=0.176,X[29,9]=0.235,X[30,9]=0.259,X[31,9]=0.047,X[32,9]=0.118,X[33,9]=0.192,X[34,9]=0.298,X[35,9]=0.427,X[36,9]=0.369,X[37,9]=0.365,X[38,9]=0.380,X[39,9]=0.369,X[40,9]=0.333,X[41,9]=0.329,X[42,9]=0.275,X[43,9]=0.161,X[44,9]=0.165,X[45,9]=0.302,X[46,9]=0.337,X[47,9]=0.341,X[48,9]=0.220,X[49,9]=0.059,X[50,9]=0.086 X[51,9]=0.176,X[52,9]=0.239,X[53,9]=0.286,X[54,9]=0.329,X[55,9]=0.373,X[56,9]=0.412,X[57,9]=0.459,X[58,9]=0.518,X[59,9]=0.545,X[60,9]=0.510,X[61,9]=0.412,X[62,9]=0.267,X[63,9]=0.204,X[64,9]=0.306,X[65,9]=0.412,X[66,9]=0.443,X[67,9]=0.463,X[68,9]=0.459,X[69,9]=0.388,X[70,9]=0.298,X[71,9]=0.220,X[72,9]=0.176,X[73,9]=0.192,X[74,9]=0.314,X[75,9]=0.329,X[76,9]=0.329,X[77,9]=0.314,X[78,9]=0.145,X[79,9]=0.063,X[80,9]=0.035,X[81,9]=0.059,X[82,9]=0.235,X[83,9]=0.247,X[84,9]=0.278,X[85,9]=0.231,X[86,9]=0.220,X[87,9]=0.341,X[88,9]=0.369,X[89,9]=0.129,X[90,9]=0.063,X[91,9]=0.098,X[92,9]=0.102,X[93,9]=0.165,X[94,9]=0.298,X[95,9]=0.286,X[96,9]=0.102,X[97,9]=0.055,X[98,9]=0.055,X[99,9]=0.094,X[100,9]=0.129 X[1,10]=0.227,X[2,10]=0.341,X[3,10]=0.325,X[4,10]=0.275,X[5,10]=0.286,X[6,10]=0.400,X[7,10]=0.427,X[8,10]=0.192,X[9,10]=0.051,X[10,10]=0.090,X[11,10]=0.176,X[12,10]=0.259,X[13,10]=0.337,X[14,10]=0.259,X[15,10]=0.208,X[16,10]=0.322,X[17,10]=0.306,X[18,10]=0.235,X[19,10]=0.314,X[20,10]=0.243,X[21,10]=0.122,X[22,10]=0.090,X[23,10]=0.047,X[24,10]=0.055,X[25,10]=0.145,X[26,10]=0.329,X[27,10]=0.176,X[28,10]=0.200,X[29,10]=0.349,X[30,10]=0.369,X[31,10]=0.098,X[32,10]=0.149,X[33,10]=0.278,X[34,10]=0.435,X[35,10]=0.345,X[36,10]=0.278,X[37,10]=0.427,X[38,10]=0.373,X[39,10]=0.345,X[40,10]=0.357,X[41,10]=0.345,X[42,10]=0.337,X[43,10]=0.314,X[44,10]=0.282,X[45,10]=0.333,X[46,10]=0.365,X[47,10]=0.349,X[48,10]=0.243,X[49,10]=0.227,X[50,10]=0.290 X[51,10]=0.349,X[52,10]=0.369,X[53,10]=0.384,X[54,10]=0.420,X[55,10]=0.478,X[56,10]=0.541,X[57,10]=0.522,X[58,10]=0.498,X[59,10]=0.373,X[60,10]=0.349,X[61,10]=0.310,X[62,10]=0.192,X[63,10]=0.200,X[64,10]=0.365,X[65,10]=0.482,X[66,10]=0.314,X[67,10]=0.333,X[68,10]=0.459,X[69,10]=0.471,X[70,10]=0.435,X[71,10]=0.369,X[72,10]=0.278,X[73,10]=0.235,X[74,10]=0.361,X[75,10]=0.424,X[76,10]=0.400,X[77,10]=0.376,X[78,10]=0.392,X[79,10]=0.337,X[80,10]=0.149,X[81,10]=0.114,X[82,10]=0.224,X[83,10]=0.259,X[84,10]=0.314,X[85,10]=0.314,X[86,10]=0.251,X[87,10]=0.231,X[88,10]=0.208,X[89,10]=0.075,X[90,10]=0.161,X[91,10]=0.282,X[92,10]=0.263,X[93,10]=0.259,X[94,10]=0.278,X[95,10]=0.329,X[96,10]=0.153,X[97,10]=0.051,X[98,10]=0.094,X[99,10]=0.145,X[100,10]=0.176 X[1,11]=0.329,X[2,11]=0.286,X[3,11]=0.322,X[4,11]=0.314,X[5,11]=0.361,X[6,11]=0.427,X[7,11]=0.282,X[8,11]=0.180,X[9,11]=0.165,X[10,11]=0.227,X[11,11]=0.329,X[12,11]=0.318,X[13,11]=0.204,X[14,11]=0.180,X[15,11]=0.263,X[16,11]=0.322,X[17,11]=0.192,X[18,11]=0.071,X[19,11]=0.180,X[20,11]=0.255,X[21,11]=0.247,X[22,11]=0.173,X[23,11]=0.110,X[24,11]=0.086,X[25,11]=0.055,X[26,11]=0.078,X[27,11]=0.075,X[28,11]=0.220,X[29,11]=0.349,X[30,11]=0.294,X[31,11]=0.157,X[32,11]=0.251,X[33,11]=0.373,X[34,11]=0.384,X[35,11]=0.137,X[36,11]=0.231,X[37,11]=0.408,X[38,11]=0.435,X[39,11]=0.247,X[40,11]=0.275,X[41,11]=0.341,X[42,11]=0.345,X[43,11]=0.353,X[44,11]=0.357,X[45,11]=0.365,X[46,11]=0.376,X[47,11]=0.384,X[48,11]=0.337,X[49,11]=0.357,X[50,11]=0.380 X[51,11]=0.400,X[52,11]=0.435,X[53,11]=0.518,X[54,11]=0.514,X[55,11]=0.494,X[56,11]=0.404,X[57,11]=0.290,X[58,11]=0.278,X[59,11]=0.259,X[60,11]=0.255,X[61,11]=0.333,X[62,11]=0.333,X[63,11]=0.325,X[64,11]=0.478,X[65,11]=0.369,X[66,11]=0.075,X[67,11]=0.180,X[68,11]=0.416,X[69,11]=0.439,X[70,11]=0.475,X[71,11]=0.482,X[72,11]=0.435,X[73,11]=0.365,X[74,11]=0.349,X[75,11]=0.427,X[76,11]=0.345,X[77,11]=0.129,X[78,11]=0.227,X[79,11]=0.361,X[80,11]=0.322,X[81,11]=0.271,X[82,11]=0.255,X[83,11]=0.310,X[84,11]=0.118,X[85,11]=0.129,X[86,11]=0.255,X[87,11]=0.294,X[88,11]=0.169,X[89,11]=0.110,X[90,11]=0.196,X[91,11]=0.384,X[92,11]=0.388,X[93,11]=0.400,X[94,11]=0.392,X[95,11]=0.396,X[96,11]=0.337,X[97,11]=0.263,X[98,11]=0.231,X[99,11]=0.227,X[100,11]=0.247 X[1,12]=0.325,X[2,12]=0.282,X[3,12]=0.361,X[4,12]=0.388,X[5,12]=0.404,X[6,12]=0.345,X[7,12]=0.275,X[8,12]=0.263,X[9,12]=0.255,X[10,12]=0.318,X[11,12]=0.271,X[12,12]=0.125,X[13,12]=0.129,X[14,12]=0.341,X[15,12]=0.373,X[16,12]=0.294,X[17,12]=0.157,X[18,12]=0.039,X[19,12]=0.090,X[20,12]=0.114,X[21,12]=0.180,X[22,12]=0.227,X[23,12]=0.200,X[24,12]=0.153,X[25,12]=0.098,X[26,12]=0.102,X[27,12]=0.173,X[28,12]=0.255,X[29,12]=0.306,X[30,12]=0.173,X[31,12]=0.251,X[32,12]=0.400,X[33,12]=0.271,X[34,12]=0.122,X[35,12]=0.078,X[36,12]=0.231,X[37,12]=0.349,X[38,12]=0.486,X[39,12]=0.239,X[40,12]=0.137,X[41,12]=0.267,X[42,12]=0.310,X[43,12]=0.361,X[44,12]=0.365,X[45,12]=0.373,X[46,12]=0.384,X[47,12]=0.396,X[48,12]=0.396,X[49,12]=0.416,X[50,12]=0.435 X[51,12]=0.463,X[52,12]=0.486,X[53,12]=0.420,X[54,12]=0.314,X[55,12]=0.298,X[56,12]=0.243,X[57,12]=0.216,X[58,12]=0.165,X[59,12]=0.220,X[60,12]=0.247,X[61,12]=0.224,X[62,12]=0.224,X[63,12]=0.239,X[64,12]=0.349,X[65,12]=0.141,X[66,12]=0.102,X[67,12]=0.224,X[68,12]=0.435,X[69,12]=0.376,X[70,12]=0.396,X[71,12]=0.529,X[72,12]=0.561,X[73,12]=0.545,X[74,12]=0.447,X[75,12]=0.392,X[76,12]=0.420,X[77,12]=0.192,X[78,12]=0.082,X[79,12]=0.239,X[80,12]=0.337,X[81,12]=0.239,X[82,12]=0.231,X[83,12]=0.278,X[84,12]=0.086,X[85,12]=0.039,X[86,12]=0.180,X[87,12]=0.349,X[88,12]=0.235,X[89,12]=0.188,X[90,12]=0.278,X[91,12]=0.384,X[92,12]=0.220,X[93,12]=0.239,X[94,12]=0.337,X[95,12]=0.463,X[96,12]=0.494,X[97,12]=0.451,X[98,12]=0.431,X[99,12]=0.400,X[100,12]=0.353 X[1,13]=0.337,X[2,13]=0.361,X[3,13]=0.408,X[4,13]=0.435,X[5,13]=0.408,X[6,13]=0.357,X[7,13]=0.310,X[8,13]=0.345,X[9,13]=0.302,X[10,13]=0.173,X[11,13]=0.067,X[12,13]=0.106,X[13,13]=0.329,X[14,13]=0.329,X[15,13]=0.169,X[16,13]=0.224,X[17,13]=0.153,X[18,13]=0.122,X[19,13]=0.212,X[20,13]=0.192,X[21,13]=0.106,X[22,13]=0.122,X[23,13]=0.200,X[24,13]=0.204,X[25,13]=0.196,X[26,13]=0.243,X[27,13]=0.247,X[28,13]=0.231,X[29,13]=0.278,X[30,13]=0.243,X[31,13]=0.369,X[32,13]=0.345,X[33,13]=0.090,X[34,13]=0.047,X[35,13]=0.055,X[36,13]=0.235,X[37,13]=0.329,X[38,13]=0.329,X[39,13]=0.200,X[40,13]=0.235,X[41,13]=0.290,X[42,13]=0.306,X[43,13]=0.365,X[44,13]=0.376,X[45,13]=0.408,X[46,13]=0.412,X[47,13]=0.412,X[48,13]=0.420,X[49,13]=0.435,X[50,13]=0.451 X[51,13]=0.443,X[52,13]=0.318,X[53,13]=0.114,X[54,13]=0.122,X[55,13]=0.227,X[56,13]=0.263,X[57,13]=0.325,X[58,13]=0.165,X[59,13]=0.184,X[60,13]=0.200,X[61,13]=0.212,X[62,13]=0.204,X[63,13]=0.184,X[64,13]=0.173,X[65,13]=0.184,X[66,13]=0.227,X[67,13]=0.251,X[68,13]=0.290,X[69,13]=0.349,X[70,13]=0.290,X[71,13]=0.271,X[72,13]=0.463,X[73,13]=0.592,X[74,13]=0.373,X[75,13]=0.212,X[76,13]=0.431,X[77,13]=0.384,X[78,13]=0.212,X[79,13]=0.153,X[80,13]=0.086,X[81,13]=0.071,X[82,13]=0.188,X[83,13]=0.169,X[84,13]=0.114,X[85,13]=0.137,X[86,13]=0.208,X[87,13]=0.325,X[88,13]=0.314,X[89,13]=0.239,X[90,13]=0.400,X[91,13]=0.357,X[92,13]=0.161,X[93,13]=0.200,X[94,13]=0.384,X[95,13]=0.459,X[96,13]=0.310,X[97,13]=0.341,X[98,13]=0.396,X[99,13]=0.388,X[100,13]=0.420 X[1,14]=0.110,X[2,14]=0.294,X[3,14]=0.443,X[4,14]=0.467,X[5,14]=0.486,X[6,14]=0.455,X[7,14]=0.416,X[8,14]=0.424,X[9,14]=0.392,X[10,14]=0.337,X[11,14]=0.294,X[12,14]=0.310,X[13,14]=0.369,X[14,14]=0.196,X[15,14]=0.149,X[16,14]=0.224,X[17,14]=0.208,X[18,14]=0.267,X[19,14]=0.302,X[20,14]=0.294,X[21,14]=0.251,X[22,14]=0.149,X[23,14]=0.102,X[24,14]=0.114,X[25,14]=0.216,X[26,14]=0.345,X[27,14]=0.369,X[28,14]=0.318,X[29,14]=0.357,X[30,14]=0.420,X[31,14]=0.404,X[32,14]=0.216,X[33,14]=0.075,X[34,14]=0.063,X[35,14]=0.071,X[36,14]=0.208,X[37,14]=0.278,X[38,14]=0.231,X[39,14]=0.263,X[40,14]=0.302,X[41,14]=0.341,X[42,14]=0.365,X[43,14]=0.408,X[44,14]=0.400,X[45,14]=0.396,X[46,14]=0.412,X[47,14]=0.424,X[48,14]=0.424,X[49,14]=0.420,X[50,14]=0.341 X[51,14]=0.298,X[52,14]=0.176,X[53,14]=0.071,X[54,14]=0.129,X[55,14]=0.227,X[56,14]=0.216,X[57,14]=0.263,X[58,14]=0.110,X[59,14]=0.118,X[60,14]=0.176,X[61,14]=0.216,X[62,14]=0.227,X[63,14]=0.192,X[64,14]=0.188,X[65,14]=0.235,X[66,14]=0.224,X[67,14]=0.141,X[68,14]=0.220,X[69,14]=0.251,X[70,14]=0.098,X[71,14]=0.071,X[72,14]=0.239,X[73,14]=0.365,X[74,14]=0.239,X[75,14]=0.090,X[76,14]=0.345,X[77,14]=0.447,X[78,14]=0.314,X[79,14]=0.153,X[80,14]=0.047,X[81,14]=0.078,X[82,14]=0.176,X[83,14]=0.227,X[84,14]=0.302,X[85,14]=0.329,X[86,14]=0.314,X[87,14]=0.345,X[88,14]=0.384,X[89,14]=0.380,X[90,14]=0.357,X[91,14]=0.173,X[92,14]=0.243,X[93,14]=0.404,X[94,14]=0.451,X[95,14]=0.333,X[96,14]=0.278,X[97,14]=0.231,X[98,14]=0.290,X[99,14]=0.408,X[100,14]=0.306 X[1,15]=0.204,X[2,15]=0.420,X[3,15]=0.475,X[4,15]=0.443,X[5,15]=0.439,X[6,15]=0.247,X[7,15]=0.306,X[8,15]=0.278,X[9,15]=0.247,X[10,15]=0.310,X[11,15]=0.369,X[12,15]=0.416,X[13,15]=0.443,X[14,15]=0.443,X[15,15]=0.396,X[16,15]=0.353,X[17,15]=0.318,X[18,15]=0.267,X[19,15]=0.318,X[20,15]=0.353,X[21,15]=0.353,X[22,15]=0.302,X[23,15]=0.208,X[24,15]=0.129,X[25,15]=0.231,X[26,15]=0.373,X[27,15]=0.404,X[28,15]=0.373,X[29,15]=0.412,X[30,15]=0.459,X[31,15]=0.294,X[32,15]=0.165,X[33,15]=0.078,X[34,15]=0.090,X[35,15]=0.165,X[36,15]=0.239,X[37,15]=0.282,X[38,15]=0.318,X[39,15]=0.357,X[40,15]=0.380,X[41,15]=0.404,X[42,15]=0.416,X[43,15]=0.427,X[44,15]=0.412,X[45,15]=0.420,X[46,15]=0.424,X[47,15]=0.451,X[48,15]=0.435,X[49,15]=0.435,X[50,15]=0.400 X[51,15]=0.282,X[52,15]=0.169,X[53,15]=0.078,X[54,15]=0.125,X[55,15]=0.224,X[56,15]=0.133,X[57,15]=0.071,X[58,15]=0.075,X[59,15]=0.051,X[60,15]=0.063,X[61,15]=0.118,X[62,15]=0.196,X[63,15]=0.212,X[64,15]=0.216,X[65,15]=0.290,X[66,15]=0.294,X[67,15]=0.231,X[68,15]=0.165,X[69,15]=0.063,X[70,15]=0.055,X[71,15]=0.051,X[72,15]=0.165,X[73,15]=0.290,X[74,15]=0.243,X[75,15]=0.063,X[76,15]=0.141,X[77,15]=0.161,X[78,15]=0.157,X[79,15]=0.118,X[80,15]=0.063,X[81,15]=0.106,X[82,15]=0.192,X[83,15]=0.235,X[84,15]=0.337,X[85,15]=0.396,X[86,15]=0.373,X[87,15]=0.412,X[88,15]=0.459,X[89,15]=0.431,X[90,15]=0.196,X[91,15]=0.129,X[92,15]=0.298,X[93,15]=0.431,X[94,15]=0.302,X[95,15]=0.275,X[96,15]=0.286,X[97,15]=0.263,X[98,15]=0.408,X[99,15]=0.380,X[100,15]=0.153 X[1,16]=0.408,X[2,16]=0.525,X[3,16]=0.392,X[4,16]=0.306,X[5,16]=0.400,X[6,16]=0.255,X[7,16]=0.235,X[8,16]=0.106,X[9,16]=0.031,X[10,16]=0.047,X[11,16]=0.106,X[12,16]=0.341,X[13,16]=0.412,X[14,16]=0.388,X[15,16]=0.431,X[16,16]=0.478,X[17,16]=0.420,X[18,16]=0.129,X[19,16]=0.157,X[20,16]=0.306,X[21,16]=0.380,X[22,16]=0.365,X[23,16]=0.333,X[24,16]=0.278,X[25,16]=0.247,X[26,16]=0.235,X[27,16]=0.337,X[28,16]=0.298,X[29,16]=0.329,X[30,16]=0.400,X[31,16]=0.306,X[32,16]=0.192,X[33,16]=0.180,X[34,16]=0.243,X[35,16]=0.298,X[36,16]=0.349,X[37,16]=0.388,X[38,16]=0.396,X[39,16]=0.427,X[40,16]=0.459,X[41,16]=0.463,X[42,16]=0.424,X[43,16]=0.349,X[44,16]=0.396,X[45,16]=0.424,X[46,16]=0.463,X[47,16]=0.518,X[48,16]=0.502,X[49,16]=0.529,X[50,16]=0.451 X[51,16]=0.388,X[52,16]=0.302,X[53,16]=0.173,X[54,16]=0.125,X[55,16]=0.220,X[56,16]=0.145,X[57,16]=0.051,X[58,16]=0.051,X[59,16]=0.055,X[60,16]=0.059,X[61,16]=0.110,X[62,16]=0.220,X[63,16]=0.282,X[64,16]=0.259,X[65,16]=0.329,X[66,16]=0.329,X[67,16]=0.306,X[68,16]=0.263,X[69,16]=0.169,X[70,16]=0.094,X[71,16]=0.063,X[72,16]=0.192,X[73,16]=0.333,X[74,16]=0.271,X[75,16]=0.075,X[76,16]=0.059,X[77,16]=0.106,X[78,16]=0.149,X[79,16]=0.102,X[80,16]=0.133,X[81,16]=0.220,X[82,16]=0.239,X[83,16]=0.271,X[84,16]=0.271,X[85,16]=0.184,X[86,16]=0.110,X[87,16]=0.165,X[88,16]=0.337,X[89,16]=0.404,X[90,16]=0.227,X[91,16]=0.227,X[92,16]=0.275,X[93,16]=0.290,X[94,16]=0.314,X[95,16]=0.310,X[96,16]=0.329,X[97,16]=0.420,X[98,16]=0.404,X[99,16]=0.216,X[100,16]=0.216 X[1,17]=0.498,X[2,17]=0.384,X[3,17]=0.192,X[4,17]=0.106,X[5,17]=0.333,X[6,17]=0.322,X[7,17]=0.192,X[8,17]=0.153,X[9,17]=0.086,X[10,17]=0.051,X[11,17]=0.035,X[12,17]=0.200,X[13,17]=0.376,X[14,17]=0.122,X[15,17]=0.129,X[16,17]=0.247,X[17,17]=0.231,X[18,17]=0.059,X[19,17]=0.051,X[20,17]=0.090,X[21,17]=0.200,X[22,17]=0.325,X[23,17]=0.365,X[24,17]=0.345,X[25,17]=0.314,X[26,17]=0.267,X[27,17]=0.263,X[28,17]=0.184,X[29,17]=0.235,X[30,17]=0.290,X[31,17]=0.271,X[32,17]=0.278,X[33,17]=0.325,X[34,17]=0.365,X[35,17]=0.392,X[36,17]=0.431,X[37,17]=0.482,X[38,17]=0.510,X[39,17]=0.490,X[40,17]=0.478,X[41,17]=0.502,X[42,17]=0.451,X[43,17]=0.373,X[44,17]=0.396,X[45,17]=0.431,X[46,17]=0.494,X[47,17]=0.455,X[48,17]=0.431,X[49,17]=0.490,X[50,17]=0.490 X[51,17]=0.431,X[52,17]=0.404,X[53,17]=0.333,X[54,17]=0.220,X[55,17]=0.212,X[56,17]=0.145,X[57,17]=0.055,X[58,17]=0.078,X[59,17]=0.129,X[60,17]=0.212,X[61,17]=0.322,X[62,17]=0.357,X[63,17]=0.271,X[64,17]=0.251,X[65,17]=0.259,X[66,17]=0.247,X[67,17]=0.255,X[68,17]=0.325,X[69,17]=0.345,X[70,17]=0.247,X[71,17]=0.129,X[72,17]=0.196,X[73,17]=0.349,X[74,17]=0.298,X[75,17]=0.118,X[76,17]=0.165,X[77,17]=0.204,X[78,17]=0.192,X[79,17]=0.200,X[80,17]=0.282,X[81,17]=0.318,X[82,17]=0.271,X[83,17]=0.263,X[84,17]=0.341,X[85,17]=0.208,X[86,17]=0.094,X[87,17]=0.071,X[88,17]=0.220,X[89,17]=0.396,X[90,17]=0.325,X[91,17]=0.302,X[92,17]=0.227,X[93,17]=0.247,X[94,17]=0.353,X[95,17]=0.263,X[96,17]=0.365,X[97,17]=0.498,X[98,17]=0.451,X[99,17]=0.310,X[100,17]=0.353 X[1,18]=0.455,X[2,18]=0.196,X[3,18]=0.035,X[4,18]=0.078,X[5,18]=0.255,X[6,18]=0.369,X[7,18]=0.255,X[8,18]=0.235,X[9,18]=0.141,X[10,18]=0.047,X[11,18]=0.051,X[12,18]=0.090,X[13,18]=0.369,X[14,18]=0.302,X[15,18]=0.129,X[16,18]=0.188,X[17,18]=0.141,X[18,18]=0.055,X[19,18]=0.047,X[20,18]=0.055,X[21,18]=0.039,X[22,18]=0.145,X[23,18]=0.302,X[24,18]=0.333,X[25,18]=0.337,X[26,18]=0.322,X[27,18]=0.267,X[28,18]=0.188,X[29,18]=0.231,X[30,18]=0.314,X[31,18]=0.353,X[32,18]=0.376,X[33,18]=0.416,X[34,18]=0.475,X[35,18]=0.502,X[36,18]=0.529,X[37,18]=0.510,X[38,18]=0.325,X[39,18]=0.188,X[40,18]=0.227,X[41,18]=0.302,X[42,18]=0.447,X[43,18]=0.408,X[44,18]=0.380,X[45,18]=0.443,X[46,18]=0.498,X[47,18]=0.420,X[48,18]=0.271,X[49,18]=0.290,X[50,18]=0.416 X[51,18]=0.455,X[52,18]=0.459,X[53,18]=0.424,X[54,18]=0.345,X[55,18]=0.255,X[56,18]=0.157,X[57,18]=0.082,X[58,18]=0.153,X[59,18]=0.286,X[60,18]=0.345,X[61,18]=0.255,X[62,18]=0.129,X[63,18]=0.145,X[64,18]=0.227,X[65,18]=0.173,X[66,18]=0.141,X[67,18]=0.212,X[68,18]=0.251,X[69,18]=0.322,X[70,18]=0.318,X[71,18]=0.161,X[72,18]=0.192,X[73,18]=0.243,X[74,18]=0.227,X[75,18]=0.216,X[76,18]=0.208,X[77,18]=0.188,X[78,18]=0.247,X[79,18]=0.349,X[80,18]=0.325,X[81,18]=0.267,X[82,18]=0.314,X[83,18]=0.204,X[84,18]=0.176,X[85,18]=0.251,X[86,18]=0.278,X[87,18]=0.235,X[88,18]=0.239,X[89,18]=0.345,X[90,18]=0.314,X[91,18]=0.149,X[92,18]=0.169,X[93,18]=0.235,X[94,18]=0.302,X[95,18]=0.314,X[96,18]=0.357,X[97,18]=0.376,X[98,18]=0.369,X[99,18]=0.369,X[100,18]=0.431 X[1,19]=0.224,X[2,19]=0.161,X[3,19]=0.118,X[4,19]=0.180,X[5,19]=0.231,X[6,19]=0.357,X[7,19]=0.318,X[8,19]=0.137,X[9,19]=0.039,X[10,19]=0.051,X[11,19]=0.063,X[12,19]=0.047,X[13,19]=0.251,X[14,19]=0.451,X[15,19]=0.243,X[16,19]=0.200,X[17,19]=0.212,X[18,19]=0.141,X[19,19]=0.059,X[20,19]=0.118,X[21,19]=0.176,X[22,19]=0.180,X[23,19]=0.239,X[24,19]=0.243,X[25,19]=0.310,X[26,19]=0.353,X[27,19]=0.329,X[28,19]=0.322,X[29,19]=0.345,X[30,19]=0.412,X[31,19]=0.455,X[32,19]=0.478,X[33,19]=0.525,X[34,19]=0.506,X[35,19]=0.478,X[36,19]=0.494,X[37,19]=0.345,X[38,19]=0.153,X[39,19]=0.157,X[40,19]=0.227,X[41,19]=0.306,X[42,19]=0.310,X[43,19]=0.263,X[44,19]=0.380,X[45,19]=0.467,X[46,19]=0.486,X[47,19]=0.420,X[48,19]=0.286,X[49,19]=0.102,X[50,19]=0.200 X[51,19]=0.357,X[52,19]=0.427,X[53,19]=0.459,X[54,19]=0.416,X[55,19]=0.365,X[56,19]=0.298,X[57,19]=0.176,X[58,19]=0.129,X[59,19]=0.192,X[60,19]=0.149,X[61,19]=0.051,X[62,19]=0.043,X[63,19]=0.157,X[64,19]=0.243,X[65,19]=0.204,X[66,19]=0.071,X[67,19]=0.086,X[68,19]=0.149,X[69,19]=0.212,X[70,19]=0.224,X[71,19]=0.196,X[72,19]=0.180,X[73,19]=0.180,X[74,19]=0.180,X[75,19]=0.204,X[76,19]=0.231,X[77,19]=0.318,X[78,19]=0.349,X[79,19]=0.239,X[80,19]=0.098,X[81,19]=0.122,X[82,19]=0.282,X[83,19]=0.286,X[84,19]=0.153,X[85,19]=0.204,X[86,19]=0.294,X[87,19]=0.349,X[88,19]=0.282,X[89,19]=0.212,X[90,19]=0.353,X[91,19]=0.145,X[92,19]=0.067,X[93,19]=0.196,X[94,19]=0.365,X[95,19]=0.459,X[96,19]=0.384,X[97,19]=0.322,X[98,19]=0.337,X[99,19]=0.400,X[100,19]=0.357 X[1,20]=0.176,X[2,20]=0.184,X[3,20]=0.200,X[4,20]=0.239,X[5,20]=0.192,X[6,20]=0.267,X[7,20]=0.322,X[8,20]=0.157,X[9,20]=0.102,X[10,20]=0.063,X[11,20]=0.051,X[12,20]=0.106,X[13,20]=0.216,X[14,20]=0.302,X[15,20]=0.243,X[16,20]=0.224,X[17,20]=0.286,X[18,20]=0.286,X[19,20]=0.176,X[20,20]=0.227,X[21,20]=0.361,X[22,20]=0.310,X[23,20]=0.282,X[24,20]=0.302,X[25,20]=0.353,X[26,20]=0.384,X[27,20]=0.400,X[28,20]=0.384,X[29,20]=0.416,X[30,20]=0.514,X[31,20]=0.576,X[32,20]=0.498,X[33,20]=0.361,X[34,20]=0.325,X[35,20]=0.427,X[36,20]=0.384,X[37,20]=0.227,X[38,20]=0.220,X[39,20]=0.259,X[40,20]=0.329,X[41,20]=0.251,X[42,20]=0.102,X[43,20]=0.227,X[44,20]=0.392,X[45,20]=0.439,X[46,20]=0.443,X[47,20]=0.298,X[48,20]=0.184,X[49,20]=0.067,X[50,20]=0.055 X[51,20]=0.129,X[52,20]=0.251,X[53,20]=0.388,X[54,20]=0.431,X[55,20]=0.416,X[56,20]=0.396,X[57,20]=0.341,X[58,20]=0.235,X[59,20]=0.114,X[60,20]=0.051,X[61,20]=0.039,X[62,20]=0.055,X[63,20]=0.165,X[64,20]=0.263,X[65,20]=0.310,X[66,20]=0.075,X[67,20]=0.086,X[68,20]=0.145,X[69,20]=0.224,X[70,20]=0.267,X[71,20]=0.290,X[72,20]=0.271,X[73,20]=0.227,X[74,20]=0.212,X[75,20]=0.235,X[76,20]=0.306,X[77,20]=0.263,X[78,20]=0.263,X[79,20]=0.325,X[80,20]=0.275,X[81,20]=0.255,X[82,20]=0.298,X[83,20]=0.333,X[84,20]=0.239,X[85,20]=0.263,X[86,20]=0.286,X[87,20]=0.192,X[88,20]=0.090,X[89,20]=0.059,X[90,20]=0.306,X[91,20]=0.267,X[92,20]=0.094,X[93,20]=0.255,X[94,20]=0.435,X[95,20]=0.420,X[96,20]=0.255,X[97,20]=0.278,X[98,20]=0.443,X[99,20]=0.478,X[100,20]=0.286 X[1,21]=0.106,X[2,21]=0.235,X[3,21]=0.318,X[4,21]=0.290,X[5,21]=0.224,X[6,21]=0.290,X[7,21]=0.388,X[8,21]=0.388,X[9,21]=0.376,X[10,21]=0.310,X[11,21]=0.247,X[12,21]=0.267,X[13,21]=0.314,X[14,21]=0.216,X[15,21]=0.200,X[16,21]=0.259,X[17,21]=0.259,X[18,21]=0.239,X[19,21]=0.271,X[20,21]=0.271,X[21,21]=0.310,X[22,21]=0.318,X[23,21]=0.349,X[24,21]=0.376,X[25,21]=0.396,X[26,21]=0.404,X[27,21]=0.420,X[28,21]=0.443,X[29,21]=0.478,X[30,21]=0.482,X[31,21]=0.380,X[32,21]=0.349,X[33,21]=0.310,X[34,21]=0.369,X[35,21]=0.376,X[36,21]=0.251,X[37,21]=0.224,X[38,21]=0.239,X[39,21]=0.231,X[40,21]=0.200,X[41,21]=0.145,X[42,21]=0.082,X[43,21]=0.267,X[44,21]=0.396,X[45,21]=0.451,X[46,21]=0.416,X[47,21]=0.247,X[48,21]=0.122,X[49,21]=0.059,X[50,21]=0.098 X[51,21]=0.196,X[52,21]=0.278,X[53,21]=0.235,X[54,21]=0.314,X[55,21]=0.404,X[56,21]=0.416,X[57,21]=0.400,X[58,21]=0.345,X[59,21]=0.275,X[60,21]=0.176,X[61,21]=0.102,X[62,21]=0.086,X[63,21]=0.169,X[64,21]=0.231,X[65,21]=0.255,X[66,21]=0.220,X[67,21]=0.255,X[68,21]=0.314,X[69,21]=0.341,X[70,21]=0.380,X[71,21]=0.416,X[72,21]=0.424,X[73,21]=0.380,X[74,21]=0.278,X[75,21]=0.239,X[76,21]=0.149,X[77,21]=0.055,X[78,21]=0.176,X[79,21]=0.341,X[80,21]=0.376,X[81,21]=0.400,X[82,21]=0.384,X[83,21]=0.416,X[84,21]=0.388,X[85,21]=0.349,X[86,21]=0.286,X[87,21]=0.204,X[88,21]=0.114,X[89,21]=0.078,X[90,21]=0.212,X[91,21]=0.306,X[92,21]=0.239,X[93,21]=0.380,X[94,21]=0.384,X[95,21]=0.255,X[96,21]=0.282,X[97,21]=0.427,X[98,21]=0.451,X[99,21]=0.349,X[100,21]=0.361 X[1,22]=0.278,X[2,22]=0.400,X[3,22]=0.396,X[4,22]=0.322,X[5,22]=0.345,X[6,22]=0.435,X[7,22]=0.435,X[8,22]=0.420,X[9,22]=0.333,X[10,22]=0.416,X[11,22]=0.443,X[12,22]=0.349,X[13,22]=0.196,X[14,22]=0.204,X[15,22]=0.212,X[16,22]=0.278,X[17,22]=0.239,X[18,22]=0.208,X[19,22]=0.278,X[20,22]=0.302,X[21,22]=0.349,X[22,22]=0.384,X[23,22]=0.396,X[24,22]=0.396,X[25,22]=0.424,X[26,22]=0.447,X[27,22]=0.439,X[28,22]=0.459,X[29,22]=0.447,X[30,22]=0.384,X[31,22]=0.357,X[32,22]=0.380,X[33,22]=0.420,X[34,22]=0.412,X[35,22]=0.310,X[36,22]=0.251,X[37,22]=0.259,X[38,22]=0.286,X[39,22]=0.255,X[40,22]=0.196,X[41,22]=0.169,X[42,22]=0.224,X[43,22]=0.298,X[44,22]=0.384,X[45,22]=0.459,X[46,22]=0.400,X[47,22]=0.231,X[48,22]=0.137,X[49,22]=0.094,X[50,22]=0.224 X[51,22]=0.322,X[52,22]=0.239,X[53,22]=0.086,X[54,22]=0.165,X[55,22]=0.306,X[56,22]=0.373,X[57,22]=0.412,X[58,22]=0.380,X[59,22]=0.333,X[60,22]=0.298,X[61,22]=0.227,X[62,22]=0.149,X[63,22]=0.212,X[64,22]=0.282,X[65,22]=0.310,X[66,22]=0.361,X[67,22]=0.373,X[68,22]=0.420,X[69,22]=0.478,X[70,22]=0.475,X[71,22]=0.506,X[72,22]=0.494,X[73,22]=0.400,X[74,22]=0.345,X[75,22]=0.271,X[76,22]=0.192,X[77,22]=0.098,X[78,22]=0.098,X[79,22]=0.184,X[80,22]=0.255,X[81,22]=0.255,X[82,22]=0.349,X[83,22]=0.490,X[84,22]=0.478,X[85,22]=0.435,X[86,22]=0.431,X[87,22]=0.416,X[88,22]=0.376,X[89,22]=0.318,X[90,22]=0.302,X[91,22]=0.380,X[92,22]=0.408,X[93,22]=0.384,X[94,22]=0.239,X[95,22]=0.231,X[96,22]=0.404,X[97,22]=0.490,X[98,22]=0.220,X[99,22]=0.129,X[100,22]=0.396 X[1,23]=0.412,X[2,23]=0.345,X[3,23]=0.271,X[4,23]=0.251,X[5,23]=0.420,X[6,23]=0.443,X[7,23]=0.376,X[8,23]=0.447,X[9,23]=0.278,X[10,23]=0.216,X[11,23]=0.196,X[12,23]=0.133,X[13,23]=0.137,X[14,23]=0.200,X[15,23]=0.188,X[16,23]=0.231,X[17,23]=0.271,X[18,23]=0.298,X[19,23]=0.341,X[20,23]=0.376,X[21,23]=0.376,X[22,23]=0.427,X[23,23]=0.459,X[24,23]=0.471,X[25,23]=0.475,X[26,23]=0.349,X[27,23]=0.388,X[28,23]=0.475,X[29,23]=0.357,X[30,23]=0.169,X[31,23]=0.286,X[32,23]=0.404,X[33,23]=0.455,X[34,23]=0.443,X[35,23]=0.455,X[36,23]=0.408,X[37,23]=0.380,X[38,23]=0.341,X[39,23]=0.286,X[40,23]=0.302,X[41,23]=0.263,X[42,23]=0.310,X[43,23]=0.298,X[44,23]=0.400,X[45,23]=0.431,X[46,23]=0.388,X[47,23]=0.239,X[48,23]=0.137,X[49,23]=0.086,X[50,23]=0.216 X[51,23]=0.173,X[52,23]=0.137,X[53,23]=0.086,X[54,23]=0.161,X[55,23]=0.267,X[56,23]=0.263,X[57,23]=0.322,X[58,23]=0.380,X[59,23]=0.373,X[60,23]=0.357,X[61,23]=0.318,X[62,23]=0.290,X[63,23]=0.302,X[64,23]=0.365,X[65,23]=0.420,X[66,23]=0.451,X[67,23]=0.475,X[68,23]=0.447,X[69,23]=0.439,X[70,23]=0.400,X[71,23]=0.310,X[72,23]=0.235,X[73,23]=0.322,X[74,23]=0.318,X[75,23]=0.224,X[76,23]=0.325,X[77,23]=0.247,X[78,23]=0.165,X[79,23]=0.176,X[80,23]=0.286,X[81,23]=0.286,X[82,23]=0.443,X[83,23]=0.353,X[84,23]=0.200,X[85,23]=0.247,X[86,23]=0.286,X[87,23]=0.278,X[88,23]=0.286,X[89,23]=0.298,X[90,23]=0.357,X[91,23]=0.427,X[92,23]=0.443,X[93,23]=0.416,X[94,23]=0.369,X[95,23]=0.341,X[96,23]=0.463,X[97,23]=0.325,X[98,23]=0.102,X[99,23]=0.086,X[100,23]=0.357 X[1,24]=0.365,X[2,24]=0.259,X[3,24]=0.259,X[4,24]=0.337,X[5,24]=0.451,X[6,24]=0.294,X[7,24]=0.310,X[8,24]=0.431,X[9,24]=0.384,X[10,24]=0.212,X[11,24]=0.149,X[12,24]=0.098,X[13,24]=0.145,X[14,24]=0.220,X[15,24]=0.208,X[16,24]=0.235,X[17,24]=0.318,X[18,24]=0.380,X[19,24]=0.420,X[20,24]=0.455,X[21,24]=0.482,X[22,24]=0.529,X[23,24]=0.518,X[24,24]=0.380,X[25,24]=0.259,X[26,24]=0.184,X[27,24]=0.365,X[28,24]=0.510,X[29,24]=0.353,X[30,24]=0.145,X[31,24]=0.345,X[32,24]=0.463,X[33,24]=0.471,X[34,24]=0.443,X[35,24]=0.259,X[36,24]=0.314,X[37,24]=0.431,X[38,24]=0.404,X[39,24]=0.420,X[40,24]=0.416,X[41,24]=0.392,X[42,24]=0.329,X[43,24]=0.294,X[44,24]=0.396,X[45,24]=0.420,X[46,24]=0.341,X[47,24]=0.212,X[48,24]=0.153,X[49,24]=0.118,X[50,24]=0.180 X[51,24]=0.235,X[52,24]=0.231,X[53,24]=0.122,X[54,24]=0.161,X[55,24]=0.337,X[56,24]=0.231,X[57,24]=0.118,X[58,24]=0.255,X[59,24]=0.345,X[60,24]=0.341,X[61,24]=0.345,X[62,24]=0.361,X[63,24]=0.361,X[64,24]=0.380,X[65,24]=0.388,X[66,24]=0.333,X[67,24]=0.302,X[68,24]=0.337,X[69,24]=0.322,X[70,24]=0.200,X[71,24]=0.086,X[72,24]=0.173,X[73,24]=0.302,X[74,24]=0.208,X[75,24]=0.067,X[76,24]=0.169,X[77,24]=0.255,X[78,24]=0.259,X[79,24]=0.188,X[80,24]=0.282,X[81,24]=0.455,X[82,24]=0.404,X[83,24]=0.224,X[84,24]=0.200,X[85,24]=0.180,X[86,24]=0.184,X[87,24]=0.216,X[88,24]=0.184,X[89,24]=0.125,X[90,24]=0.329,X[91,24]=0.471,X[92,24]=0.471,X[93,24]=0.451,X[94,24]=0.408,X[95,24]=0.416,X[96,24]=0.451,X[97,24]=0.400,X[98,24]=0.373,X[99,24]=0.318,X[100,24]=0.384 X[1,25]=0.455,X[2,25]=0.447,X[3,25]=0.408,X[4,25]=0.427,X[5,25]=0.384,X[6,25]=0.267,X[7,25]=0.220,X[8,25]=0.349,X[9,25]=0.486,X[10,25]=0.243,X[11,25]=0.176,X[12,25]=0.188,X[13,25]=0.212,X[14,25]=0.231,X[15,25]=0.224,X[16,25]=0.243,X[17,25]=0.361,X[18,25]=0.439,X[19,25]=0.490,X[20,25]=0.502,X[21,25]=0.424,X[22,25]=0.290,X[23,25]=0.239,X[24,25]=0.184,X[25,25]=0.196,X[26,25]=0.247,X[27,25]=0.396,X[28,25]=0.478,X[29,25]=0.376,X[30,25]=0.310,X[31,25]=0.482,X[32,25]=0.373,X[33,25]=0.239,X[34,25]=0.412,X[35,25]=0.176,X[36,25]=0.137,X[37,25]=0.275,X[38,25]=0.306,X[39,25]=0.380,X[40,25]=0.306,X[41,25]=0.376,X[42,25]=0.357,X[43,25]=0.322,X[44,25]=0.373,X[45,25]=0.408,X[46,25]=0.345,X[47,25]=0.235,X[48,25]=0.184,X[49,25]=0.255,X[50,25]=0.361 X[51,25]=0.333,X[52,25]=0.169,X[53,25]=0.039,X[54,25]=0.176,X[55,25]=0.373,X[56,25]=0.251,X[57,25]=0.071,X[58,25]=0.086,X[59,25]=0.180,X[60,25]=0.302,X[61,25]=0.373,X[62,25]=0.376,X[63,25]=0.380,X[64,25]=0.408,X[65,25]=0.376,X[66,25]=0.271,X[67,25]=0.267,X[68,25]=0.267,X[69,25]=0.149,X[70,25]=0.059,X[71,25]=0.063,X[72,25]=0.165,X[73,25]=0.267,X[74,25]=0.188,X[75,25]=0.063,X[76,25]=0.059,X[77,25]=0.090,X[78,25]=0.176,X[79,25]=0.224,X[80,25]=0.302,X[81,25]=0.353,X[82,25]=0.204,X[83,25]=0.180,X[84,25]=0.192,X[85,25]=0.224,X[86,25]=0.337,X[87,25]=0.349,X[88,25]=0.231,X[89,25]=0.298,X[90,25]=0.455,X[91,25]=0.333,X[92,25]=0.392,X[93,25]=0.392,X[94,25]=0.216,X[95,25]=0.216,X[96,25]=0.227,X[97,25]=0.220,X[98,25]=0.286,X[99,25]=0.341,X[100,25]=0.416 X[1,26]=0.384,X[2,26]=0.400,X[3,26]=0.506,X[4,26]=0.490,X[5,26]=0.396,X[6,26]=0.310,X[7,26]=0.208,X[8,26]=0.247,X[9,26]=0.341,X[10,26]=0.145,X[11,26]=0.071,X[12,26]=0.157,X[13,26]=0.224,X[14,26]=0.251,X[15,26]=0.275,X[16,26]=0.263,X[17,26]=0.380,X[18,26]=0.447,X[19,26]=0.384,X[20,26]=0.243,X[21,26]=0.094,X[22,26]=0.055,X[23,26]=0.153,X[24,26]=0.133,X[25,26]=0.137,X[26,26]=0.294,X[27,26]=0.424,X[28,26]=0.494,X[29,26]=0.408,X[30,26]=0.439,X[31,26]=0.435,X[32,26]=0.184,X[33,26]=0.078,X[34,26]=0.357,X[35,26]=0.322,X[36,26]=0.188,X[37,26]=0.224,X[38,26]=0.259,X[39,26]=0.216,X[40,26]=0.075,X[41,26]=0.208,X[42,26]=0.314,X[43,26]=0.322,X[44,26]=0.396,X[45,26]=0.416,X[46,26]=0.353,X[47,26]=0.255,X[48,26]=0.243,X[49,26]=0.337,X[50,26]=0.275 X[51,26]=0.114,X[52,26]=0.031,X[53,26]=0.055,X[54,26]=0.173,X[55,26]=0.333,X[56,26]=0.286,X[57,26]=0.149,X[58,26]=0.055,X[59,26]=0.129,X[60,26]=0.298,X[61,26]=0.384,X[62,26]=0.400,X[63,26]=0.424,X[64,26]=0.408,X[65,26]=0.420,X[66,26]=0.384,X[67,26]=0.271,X[68,26]=0.102,X[69,26]=0.035,X[70,26]=0.047,X[71,26]=0.071,X[72,26]=0.161,X[73,26]=0.235,X[74,26]=0.161,X[75,26]=0.055,X[76,26]=0.039,X[77,26]=0.063,X[78,26]=0.086,X[79,26]=0.184,X[80,26]=0.227,X[81,26]=0.196,X[82,26]=0.169,X[83,26]=0.204,X[84,26]=0.239,X[85,26]=0.235,X[86,26]=0.196,X[87,26]=0.247,X[88,26]=0.294,X[89,26]=0.467,X[90,26]=0.420,X[91,26]=0.141,X[92,26]=0.294,X[93,26]=0.412,X[94,26]=0.278,X[95,26]=0.220,X[96,26]=0.153,X[97,26]=0.051,X[98,26]=0.031,X[99,26]=0.118,X[100,26]=0.376 X[1,27]=0.404,X[2,27]=0.271,X[3,27]=0.267,X[4,27]=0.251,X[5,27]=0.216,X[6,27]=0.220,X[7,27]=0.263,X[8,27]=0.294,X[9,27]=0.231,X[10,27]=0.145,X[11,27]=0.063,X[12,27]=0.082,X[13,27]=0.176,X[14,27]=0.271,X[15,27]=0.235,X[16,27]=0.114,X[17,27]=0.184,X[18,27]=0.180,X[19,27]=0.102,X[20,27]=0.059,X[21,27]=0.047,X[22,27]=0.090,X[23,27]=0.204,X[24,27]=0.227,X[25,27]=0.204,X[26,27]=0.306,X[27,27]=0.431,X[28,27]=0.490,X[29,27]=0.443,X[30,27]=0.451,X[31,27]=0.243,X[32,27]=0.169,X[33,27]=0.153,X[34,27]=0.302,X[35,27]=0.369,X[36,27]=0.224,X[37,27]=0.224,X[38,27]=0.200,X[39,27]=0.090,X[40,27]=0.067,X[41,27]=0.086,X[42,27]=0.243,X[43,27]=0.325,X[44,27]=0.388,X[45,27]=0.404,X[46,27]=0.298,X[47,27]=0.235,X[48,27]=0.243,X[49,27]=0.180,X[50,27]=0.078 X[51,27]=0.035,X[52,27]=0.039,X[53,27]=0.071,X[54,27]=0.075,X[55,27]=0.118,X[56,27]=0.200,X[57,27]=0.184,X[58,27]=0.157,X[59,27]=0.220,X[60,27]=0.318,X[61,27]=0.420,X[62,27]=0.482,X[63,27]=0.486,X[64,27]=0.451,X[65,27]=0.435,X[66,27]=0.427,X[67,27]=0.396,X[68,27]=0.306,X[69,27]=0.157,X[70,27]=0.063,X[71,27]=0.039,X[72,27]=0.145,X[73,27]=0.235,X[74,27]=0.149,X[75,27]=0.039,X[76,27]=0.075,X[77,27]=0.149,X[78,27]=0.227,X[79,27]=0.325,X[80,27]=0.322,X[81,27]=0.224,X[82,27]=0.200,X[83,27]=0.235,X[84,27]=0.235,X[85,27]=0.180,X[86,27]=0.133,X[87,27]=0.231,X[88,27]=0.412,X[89,27]=0.427,X[90,27]=0.243,X[91,27]=0.259,X[92,27]=0.271,X[93,27]=0.365,X[94,27]=0.314,X[95,27]=0.314,X[96,27]=0.282,X[97,27]=0.192,X[98,27]=0.118,X[99,27]=0.145,X[100,27]=0.322 X[1,28]=0.424,X[2,28]=0.325,X[3,28]=0.086,X[4,28]=0.133,X[5,28]=0.196,X[6,28]=0.173,X[7,28]=0.208,X[8,28]=0.243,X[9,28]=0.306,X[10,28]=0.290,X[11,28]=0.129,X[12,28]=0.133,X[13,28]=0.173,X[14,28]=0.263,X[15,28]=0.165,X[16,28]=0.051,X[17,28]=0.075,X[18,28]=0.067,X[19,28]=0.063,X[20,28]=0.059,X[21,28]=0.075,X[22,28]=0.094,X[23,28]=0.212,X[24,28]=0.341,X[25,28]=0.361,X[26,28]=0.353,X[27,28]=0.451,X[28,28]=0.475,X[29,28]=0.388,X[30,28]=0.267,X[31,28]=0.204,X[32,28]=0.220,X[33,28]=0.235,X[34,28]=0.278,X[35,28]=0.357,X[36,28]=0.290,X[37,28]=0.227,X[38,28]=0.200,X[39,28]=0.078,X[40,28]=0.055,X[41,28]=0.086,X[42,28]=0.227,X[43,28]=0.337,X[44,28]=0.380,X[45,28]=0.373,X[46,28]=0.298,X[47,28]=0.333,X[48,28]=0.349,X[49,28]=0.243,X[50,28]=0.184 X[51,28]=0.094,X[52,28]=0.059,X[53,28]=0.059,X[54,28]=0.039,X[55,28]=0.047,X[56,28]=0.176,X[57,28]=0.180,X[58,28]=0.173,X[59,28]=0.224,X[60,28]=0.329,X[61,28]=0.463,X[62,28]=0.459,X[63,28]=0.329,X[64,28]=0.420,X[65,28]=0.482,X[66,28]=0.451,X[67,28]=0.431,X[68,28]=0.420,X[69,28]=0.345,X[70,28]=0.216,X[71,28]=0.106,X[72,28]=0.133,X[73,28]=0.220,X[74,28]=0.165,X[75,28]=0.129,X[76,28]=0.212,X[77,28]=0.282,X[78,28]=0.345,X[79,28]=0.286,X[80,28]=0.173,X[81,28]=0.224,X[82,28]=0.318,X[83,28]=0.341,X[84,28]=0.329,X[85,28]=0.290,X[86,28]=0.247,X[87,28]=0.365,X[88,28]=0.427,X[89,28]=0.333,X[90,28]=0.325,X[91,28]=0.275,X[92,28]=0.216,X[93,28]=0.294,X[94,28]=0.353,X[95,28]=0.239,X[96,28]=0.227,X[97,28]=0.255,X[98,28]=0.235,X[99,28]=0.216,X[100,28]=0.302 X[1,29]=0.349,X[2,29]=0.420,X[3,29]=0.180,X[4,29]=0.137,X[5,29]=0.188,X[6,29]=0.176,X[7,29]=0.192,X[8,29]=0.106,X[9,29]=0.118,X[10,29]=0.188,X[11,29]=0.212,X[12,29]=0.259,X[13,29]=0.200,X[14,29]=0.243,X[15,29]=0.149,X[16,29]=0.075,X[17,29]=0.055,X[18,29]=0.055,X[19,29]=0.075,X[20,29]=0.059,X[21,29]=0.055,X[22,29]=0.110,X[23,29]=0.188,X[24,29]=0.267,X[25,29]=0.306,X[26,29]=0.365,X[27,29]=0.498,X[28,29]=0.514,X[29,29]=0.361,X[30,29]=0.212,X[31,29]=0.231,X[32,29]=0.243,X[33,29]=0.239,X[34,29]=0.208,X[35,29]=0.282,X[36,29]=0.337,X[37,29]=0.216,X[38,29]=0.188,X[39,29]=0.082,X[40,29]=0.035,X[41,29]=0.071,X[42,29]=0.251,X[43,29]=0.349,X[44,29]=0.373,X[45,29]=0.369,X[46,29]=0.286,X[47,29]=0.290,X[48,29]=0.263,X[49,29]=0.278,X[50,29]=0.298 X[51,29]=0.231,X[52,29]=0.157,X[53,29]=0.075,X[54,29]=0.051,X[55,29]=0.063,X[56,29]=0.169,X[57,29]=0.157,X[58,29]=0.157,X[59,29]=0.231,X[60,29]=0.369,X[61,29]=0.463,X[62,29]=0.388,X[63,29]=0.169,X[64,29]=0.278,X[65,29]=0.380,X[66,29]=0.471,X[67,29]=0.486,X[68,29]=0.435,X[69,29]=0.408,X[70,29]=0.380,X[71,29]=0.294,X[72,29]=0.188,X[73,29]=0.196,X[74,29]=0.204,X[75,29]=0.239,X[76,29]=0.318,X[77,29]=0.306,X[78,29]=0.176,X[79,29]=0.071,X[80,29]=0.063,X[81,29]=0.114,X[82,29]=0.318,X[83,29]=0.314,X[84,29]=0.251,X[85,29]=0.337,X[86,29]=0.384,X[87,29]=0.416,X[88,29]=0.298,X[89,29]=0.216,X[90,29]=0.153,X[91,29]=0.086,X[92,29]=0.165,X[93,29]=0.243,X[94,29]=0.361,X[95,29]=0.278,X[96,29]=0.200,X[97,29]=0.235,X[98,29]=0.302,X[99,29]=0.267,X[100,29]=0.220 X[1,30]=0.196,X[2,30]=0.243,X[3,30]=0.204,X[4,30]=0.204,X[5,30]=0.192,X[6,30]=0.188,X[7,30]=0.220,X[8,30]=0.141,X[9,30]=0.161,X[10,30]=0.278,X[11,30]=0.294,X[12,30]=0.161,X[13,30]=0.141,X[14,30]=0.224,X[15,30]=0.165,X[16,30]=0.082,X[17,30]=0.063,X[18,30]=0.090,X[19,30]=0.067,X[20,30]=0.063,X[21,30]=0.051,X[22,30]=0.102,X[23,30]=0.188,X[24,30]=0.204,X[25,30]=0.267,X[26,30]=0.420,X[27,30]=0.549,X[28,30]=0.494,X[29,30]=0.373,X[30,30]=0.282,X[31,30]=0.278,X[32,30]=0.318,X[33,30]=0.290,X[34,30]=0.235,X[35,30]=0.259,X[36,30]=0.353,X[37,30]=0.329,X[38,30]=0.314,X[39,30]=0.216,X[40,30]=0.102,X[41,30]=0.137,X[42,30]=0.278,X[43,30]=0.357,X[44,30]=0.380,X[45,30]=0.318,X[46,30]=0.255,X[47,30]=0.251,X[48,30]=0.149,X[49,30]=0.110,X[50,30]=0.251 X[51,30]=0.384,X[52,30]=0.306,X[53,30]=0.098,X[54,30]=0.051,X[55,30]=0.071,X[56,30]=0.176,X[57,30]=0.157,X[58,30]=0.157,X[59,30]=0.231,X[60,30]=0.361,X[61,30]=0.471,X[62,30]=0.380,X[63,30]=0.192,X[64,30]=0.239,X[65,30]=0.165,X[66,30]=0.255,X[67,30]=0.443,X[68,30]=0.498,X[69,30]=0.482,X[70,30]=0.439,X[71,30]=0.420,X[72,30]=0.349,X[73,30]=0.267,X[74,30]=0.216,X[75,30]=0.239,X[76,30]=0.192,X[77,30]=0.059,X[78,30]=0.047,X[79,30]=0.063,X[80,30]=0.055,X[81,30]=0.075,X[82,30]=0.243,X[83,30]=0.173,X[84,30]=0.106,X[85,30]=0.349,X[86,30]=0.471,X[87,30]=0.447,X[88,30]=0.314,X[89,30]=0.129,X[90,30]=0.027,X[91,30]=0.059,X[92,30]=0.106,X[93,30]=0.224,X[94,30]=0.325,X[95,30]=0.322,X[96,30]=0.271,X[97,30]=0.259,X[98,30]=0.192,X[99,30]=0.153,X[100,30]=0.122 X[1,31]=0.082,X[2,31]=0.149,X[3,31]=0.220,X[4,31]=0.275,X[5,31]=0.231,X[6,31]=0.180,X[7,31]=0.212,X[8,31]=0.251,X[9,31]=0.314,X[10,31]=0.267,X[11,31]=0.114,X[12,31]=0.047,X[13,31]=0.133,X[14,31]=0.220,X[15,31]=0.176,X[16,31]=0.129,X[17,31]=0.157,X[18,31]=0.176,X[19,31]=0.145,X[20,31]=0.075,X[21,31]=0.059,X[22,31]=0.133,X[23,31]=0.188,X[24,31]=0.220,X[25,31]=0.345,X[26,31]=0.471,X[27,31]=0.561,X[28,31]=0.475,X[29,31]=0.361,X[30,31]=0.282,X[31,31]=0.290,X[32,31]=0.369,X[33,31]=0.306,X[34,31]=0.298,X[35,31]=0.369,X[36,31]=0.427,X[37,31]=0.435,X[38,31]=0.388,X[39,31]=0.333,X[40,31]=0.259,X[41,31]=0.275,X[42,31]=0.306,X[43,31]=0.337,X[44,31]=0.365,X[45,31]=0.310,X[46,31]=0.227,X[47,31]=0.227,X[48,31]=0.165,X[49,31]=0.055,X[50,31]=0.059 X[51,31]=0.200,X[52,31]=0.224,X[53,31]=0.055,X[54,31]=0.043,X[55,31]=0.090,X[56,31]=0.180,X[57,31]=0.208,X[58,31]=0.224,X[59,31]=0.278,X[60,31]=0.369,X[61,31]=0.471,X[62,31]=0.357,X[63,31]=0.165,X[64,31]=0.298,X[65,31]=0.114,X[66,31]=0.035,X[67,31]=0.176,X[68,31]=0.388,X[69,31]=0.506,X[70,31]=0.549,X[71,31]=0.549,X[72,31]=0.471,X[73,31]=0.349,X[74,31]=0.192,X[75,31]=0.180,X[76,31]=0.106,X[77,31]=0.055,X[78,31]=0.071,X[79,31]=0.047,X[80,31]=0.063,X[81,31]=0.102,X[82,31]=0.216,X[83,31]=0.212,X[84,31]=0.278,X[85,31]=0.478,X[86,31]=0.376,X[87,31]=0.310,X[88,31]=0.361,X[89,31]=0.094,X[90,31]=0.063,X[91,31]=0.106,X[92,31]=0.169,X[93,31]=0.259,X[94,31]=0.357,X[95,31]=0.392,X[96,31]=0.420,X[97,31]=0.400,X[98,31]=0.345,X[99,31]=0.247,X[100,31]=0.118 X[1,32]=0.063,X[2,32]=0.106,X[3,32]=0.235,X[4,32]=0.361,X[5,32]=0.329,X[6,32]=0.239,X[7,32]=0.192,X[8,32]=0.216,X[9,32]=0.208,X[10,32]=0.086,X[11,32]=0.043,X[12,32]=0.063,X[13,32]=0.129,X[14,32]=0.216,X[15,32]=0.196,X[16,32]=0.188,X[17,32]=0.169,X[18,32]=0.153,X[19,32]=0.192,X[20,32]=0.169,X[21,32]=0.141,X[22,32]=0.204,X[23,32]=0.255,X[24,32]=0.259,X[25,32]=0.333,X[26,32]=0.471,X[27,32]=0.459,X[28,32]=0.384,X[29,32]=0.420,X[30,32]=0.337,X[31,32]=0.263,X[32,32]=0.298,X[33,32]=0.235,X[34,32]=0.322,X[35,32]=0.435,X[36,32]=0.345,X[37,32]=0.322,X[38,32]=0.259,X[39,32]=0.302,X[40,32]=0.333,X[41,32]=0.361,X[42,32]=0.365,X[43,32]=0.357,X[44,32]=0.369,X[45,32]=0.369,X[46,32]=0.337,X[47,32]=0.267,X[48,32]=0.153,X[49,32]=0.059,X[50,32]=0.063 X[51,32]=0.055,X[52,32]=0.059,X[53,32]=0.067,X[54,32]=0.086,X[55,32]=0.149,X[56,32]=0.216,X[57,32]=0.243,X[58,32]=0.278,X[59,32]=0.322,X[60,32]=0.376,X[61,32]=0.463,X[62,32]=0.341,X[63,32]=0.204,X[64,32]=0.396,X[65,32]=0.133,X[66,32]=0.047,X[67,32]=0.086,X[68,32]=0.216,X[69,32]=0.361,X[70,32]=0.490,X[71,32]=0.576,X[72,32]=0.424,X[73,32]=0.251,X[74,32]=0.208,X[75,32]=0.200,X[76,32]=0.196,X[77,32]=0.141,X[78,32]=0.090,X[79,32]=0.063,X[80,32]=0.122,X[81,32]=0.173,X[82,32]=0.227,X[83,32]=0.329,X[84,32]=0.443,X[85,32]=0.443,X[86,32]=0.125,X[87,32]=0.180,X[88,32]=0.404,X[89,32]=0.153,X[90,32]=0.157,X[91,32]=0.247,X[92,32]=0.247,X[93,32]=0.345,X[94,32]=0.455,X[95,32]=0.443,X[96,32]=0.408,X[97,32]=0.318,X[98,32]=0.424,X[99,32]=0.447,X[100,32]=0.255 X[1,33]=0.180,X[2,33]=0.169,X[3,33]=0.325,X[4,33]=0.278,X[5,33]=0.204,X[6,33]=0.255,X[7,33]=0.184,X[8,33]=0.165,X[9,33]=0.216,X[10,33]=0.200,X[11,33]=0.102,X[12,33]=0.047,X[13,33]=0.118,X[14,33]=0.204,X[15,33]=0.180,X[16,33]=0.196,X[17,33]=0.176,X[18,33]=0.122,X[19,33]=0.145,X[20,33]=0.196,X[21,33]=0.263,X[22,33]=0.341,X[23,33]=0.325,X[24,33]=0.290,X[25,33]=0.365,X[26,33]=0.373,X[27,33]=0.263,X[28,33]=0.176,X[29,33]=0.302,X[30,33]=0.388,X[31,33]=0.259,X[32,33]=0.227,X[33,33]=0.216,X[34,33]=0.369,X[35,33]=0.322,X[36,33]=0.259,X[37,33]=0.306,X[38,33]=0.345,X[39,33]=0.384,X[40,33]=0.412,X[41,33]=0.384,X[42,33]=0.361,X[43,33]=0.369,X[44,33]=0.408,X[45,33]=0.439,X[46,33]=0.447,X[47,33]=0.369,X[48,33]=0.243,X[49,33]=0.114,X[50,33]=0.078 X[51,33]=0.067,X[52,33]=0.075,X[53,33]=0.133,X[54,33]=0.208,X[55,33]=0.278,X[56,33]=0.329,X[57,33]=0.294,X[58,33]=0.278,X[59,33]=0.275,X[60,33]=0.396,X[61,33]=0.482,X[62,33]=0.337,X[63,33]=0.153,X[64,33]=0.200,X[65,33]=0.110,X[66,33]=0.118,X[67,33]=0.192,X[68,33]=0.235,X[69,33]=0.212,X[70,33]=0.314,X[71,33]=0.439,X[72,33]=0.290,X[73,33]=0.216,X[74,33]=0.282,X[75,33]=0.290,X[76,33]=0.220,X[77,33]=0.188,X[78,33]=0.169,X[79,33]=0.110,X[80,33]=0.114,X[81,33]=0.165,X[82,33]=0.231,X[83,33]=0.357,X[84,33]=0.420,X[85,33]=0.196,X[86,33]=0.110,X[87,33]=0.216,X[88,33]=0.416,X[89,33]=0.333,X[90,33]=0.286,X[91,33]=0.345,X[92,33]=0.337,X[93,33]=0.451,X[94,33]=0.329,X[95,33]=0.357,X[96,33]=0.431,X[97,33]=0.239,X[98,33]=0.231,X[99,33]=0.282,X[100,33]=0.271 X[1,34]=0.239,X[2,34]=0.208,X[3,34]=0.176,X[4,34]=0.102,X[5,34]=0.098,X[6,34]=0.176,X[7,34]=0.224,X[8,34]=0.325,X[9,34]=0.314,X[10,34]=0.224,X[11,34]=0.114,X[12,34]=0.059,X[13,34]=0.129,X[14,34]=0.192,X[15,34]=0.165,X[16,34]=0.184,X[17,34]=0.176,X[18,34]=0.173,X[19,34]=0.231,X[20,34]=0.353,X[21,34]=0.353,X[22,34]=0.259,X[23,34]=0.231,X[24,34]=0.290,X[25,34]=0.255,X[26,34]=0.255,X[27,34]=0.263,X[28,34]=0.180,X[29,34]=0.149,X[30,34]=0.169,X[31,34]=0.180,X[32,34]=0.196,X[33,34]=0.251,X[34,34]=0.294,X[35,34]=0.325,X[36,34]=0.365,X[37,34]=0.412,X[38,34]=0.475,X[39,34]=0.455,X[40,34]=0.361,X[41,34]=0.333,X[42,34]=0.396,X[43,34]=0.400,X[44,34]=0.439,X[45,34]=0.502,X[46,34]=0.518,X[47,34]=0.459,X[48,34]=0.400,X[49,34]=0.294,X[50,34]=0.141 X[51,34]=0.110,X[52,34]=0.180,X[53,34]=0.282,X[54,34]=0.365,X[55,34]=0.322,X[56,34]=0.180,X[57,34]=0.169,X[58,34]=0.282,X[59,34]=0.298,X[60,34]=0.416,X[61,34]=0.510,X[62,34]=0.380,X[63,34]=0.110,X[64,34]=0.102,X[65,34]=0.169,X[66,34]=0.247,X[67,34]=0.267,X[68,34]=0.204,X[69,34]=0.263,X[70,34]=0.318,X[71,34]=0.212,X[72,34]=0.176,X[73,34]=0.251,X[74,34]=0.251,X[75,34]=0.192,X[76,34]=0.239,X[77,34]=0.243,X[78,34]=0.204,X[79,34]=0.188,X[80,34]=0.153,X[81,34]=0.102,X[82,34]=0.129,X[83,34]=0.192,X[84,34]=0.200,X[85,34]=0.204,X[86,34]=0.310,X[87,34]=0.282,X[88,34]=0.376,X[89,34]=0.384,X[90,34]=0.275,X[91,34]=0.192,X[92,34]=0.392,X[93,34]=0.396,X[94,34]=0.173,X[95,34]=0.271,X[96,34]=0.455,X[97,34]=0.349,X[98,34]=0.180,X[99,34]=0.192,X[100,34]=0.267 X[1,35]=0.133,X[2,35]=0.188,X[3,35]=0.200,X[4,35]=0.180,X[5,35]=0.200,X[6,35]=0.231,X[7,35]=0.263,X[8,35]=0.200,X[9,35]=0.169,X[10,35]=0.220,X[11,35]=0.200,X[12,35]=0.141,X[13,35]=0.149,X[14,35]=0.200,X[15,35]=0.173,X[16,35]=0.184,X[17,35]=0.216,X[18,35]=0.286,X[19,35]=0.369,X[20,35]=0.353,X[21,35]=0.337,X[22,35]=0.251,X[23,35]=0.263,X[24,35]=0.220,X[25,35]=0.078,X[26,35]=0.106,X[27,35]=0.231,X[28,35]=0.325,X[29,35]=0.216,X[30,35]=0.075,X[31,35]=0.173,X[32,35]=0.220,X[33,35]=0.294,X[34,35]=0.361,X[35,35]=0.431,X[36,35]=0.475,X[37,35]=0.467,X[38,35]=0.467,X[39,35]=0.290,X[40,35]=0.180,X[41,35]=0.302,X[42,35]=0.400,X[43,35]=0.435,X[44,35]=0.490,X[45,35]=0.475,X[46,35]=0.380,X[47,35]=0.435,X[48,35]=0.467,X[49,35]=0.420,X[50,35]=0.341 X[51,35]=0.235,X[52,35]=0.271,X[53,35]=0.345,X[54,35]=0.227,X[55,35]=0.102,X[56,35]=0.035,X[57,35]=0.047,X[58,35]=0.094,X[59,35]=0.255,X[60,35]=0.408,X[61,35]=0.525,X[62,35]=0.427,X[63,35]=0.208,X[64,35]=0.212,X[65,35]=0.290,X[66,35]=0.318,X[67,35]=0.173,X[68,35]=0.224,X[69,35]=0.318,X[70,35]=0.153,X[71,35]=0.047,X[72,35]=0.169,X[73,35]=0.286,X[74,35]=0.231,X[75,35]=0.082,X[76,35]=0.090,X[77,35]=0.200,X[78,35]=0.286,X[79,35]=0.231,X[80,35]=0.212,X[81,35]=0.176,X[82,35]=0.141,X[83,35]=0.184,X[84,35]=0.224,X[85,35]=0.278,X[86,35]=0.302,X[87,35]=0.298,X[88,35]=0.282,X[89,35]=0.184,X[90,35]=0.075,X[91,35]=0.071,X[92,35]=0.224,X[93,35]=0.227,X[94,35]=0.188,X[95,35]=0.231,X[96,35]=0.404,X[97,35]=0.463,X[98,35]=0.216,X[99,35]=0.141,X[100,35]=0.200 X[1,36]=0.067,X[2,36]=0.086,X[3,36]=0.133,X[4,36]=0.192,X[5,36]=0.243,X[6,36]=0.247,X[7,36]=0.208,X[8,36]=0.114,X[9,36]=0.071,X[10,36]=0.122,X[11,36]=0.184,X[12,36]=0.200,X[13,36]=0.212,X[14,36]=0.216,X[15,36]=0.216,X[16,36]=0.235,X[17,36]=0.318,X[18,36]=0.325,X[19,36]=0.325,X[20,36]=0.365,X[21,36]=0.361,X[22,36]=0.278,X[23,36]=0.271,X[24,36]=0.157,X[25,36]=0.063,X[26,36]=0.075,X[27,36]=0.063,X[28,36]=0.157,X[29,36]=0.141,X[30,36]=0.078,X[31,36]=0.188,X[32,36]=0.247,X[33,36]=0.369,X[34,36]=0.467,X[35,36]=0.455,X[36,36]=0.388,X[37,36]=0.349,X[38,36]=0.239,X[39,36]=0.090,X[40,36]=0.180,X[41,36]=0.314,X[42,36]=0.404,X[43,36]=0.459,X[44,36]=0.475,X[45,36]=0.345,X[46,36]=0.184,X[47,36]=0.243,X[48,36]=0.408,X[49,36]=0.482,X[50,36]=0.447 X[51,36]=0.384,X[52,36]=0.278,X[53,36]=0.133,X[54,36]=0.031,X[55,36]=0.059,X[56,36]=0.067,X[57,36]=0.051,X[58,36]=0.067,X[59,36]=0.102,X[60,36]=0.239,X[61,36]=0.376,X[62,36]=0.392,X[63,36]=0.251,X[64,36]=0.282,X[65,36]=0.263,X[66,36]=0.125,X[67,36]=0.051,X[68,36]=0.216,X[69,36]=0.208,X[70,36]=0.090,X[71,36]=0.063,X[72,36]=0.173,X[73,36]=0.298,X[74,36]=0.251,X[75,36]=0.094,X[76,36]=0.055,X[77,36]=0.067,X[78,36]=0.200,X[79,36]=0.169,X[80,36]=0.137,X[81,36]=0.184,X[82,36]=0.208,X[83,36]=0.239,X[84,36]=0.220,X[85,36]=0.216,X[86,36]=0.275,X[87,36]=0.251,X[88,36]=0.094,X[89,36]=0.055,X[90,36]=0.063,X[91,36]=0.067,X[92,36]=0.043,X[93,36]=0.086,X[94,36]=0.145,X[95,36]=0.220,X[96,36]=0.298,X[97,36]=0.357,X[98,36]=0.227,X[99,36]=0.086,X[100,36]=0.047 X[1,37]=0.043,X[2,37]=0.039,X[3,37]=0.067,X[4,37]=0.212,X[5,37]=0.325,X[6,37]=0.349,X[7,37]=0.267,X[8,37]=0.200,X[9,37]=0.129,X[10,37]=0.051,X[11,37]=0.086,X[12,37]=0.188,X[13,37]=0.227,X[14,37]=0.231,X[15,37]=0.231,X[16,37]=0.247,X[17,37]=0.251,X[18,37]=0.310,X[19,37]=0.384,X[20,37]=0.251,X[21,37]=0.208,X[22,37]=0.255,X[23,37]=0.259,X[24,37]=0.220,X[25,37]=0.114,X[26,37]=0.067,X[27,37]=0.051,X[28,37]=0.043,X[29,37]=0.047,X[30,37]=0.086,X[31,37]=0.180,X[32,37]=0.271,X[33,37]=0.396,X[34,37]=0.302,X[35,37]=0.137,X[36,37]=0.196,X[37,37]=0.337,X[38,37]=0.188,X[39,37]=0.114,X[40,37]=0.227,X[41,37]=0.329,X[42,37]=0.412,X[43,37]=0.447,X[44,37]=0.478,X[45,37]=0.365,X[46,37]=0.208,X[47,37]=0.176,X[48,37]=0.251,X[49,37]=0.361,X[50,37]=0.475 X[51,37]=0.482,X[52,37]=0.392,X[53,37]=0.286,X[54,37]=0.125,X[55,37]=0.153,X[56,37]=0.231,X[57,37]=0.098,X[58,37]=0.075,X[59,37]=0.137,X[60,37]=0.188,X[61,37]=0.243,X[62,37]=0.302,X[63,37]=0.259,X[64,37]=0.267,X[65,37]=0.094,X[66,37]=0.035,X[67,37]=0.059,X[68,37]=0.173,X[69,37]=0.204,X[70,37]=0.102,X[71,37]=0.059,X[72,37]=0.173,X[73,37]=0.318,X[74,37]=0.263,X[75,37]=0.075,X[76,37]=0.055,X[77,37]=0.078,X[78,37]=0.082,X[79,37]=0.059,X[80,37]=0.082,X[81,37]=0.161,X[82,37]=0.247,X[83,37]=0.306,X[84,37]=0.286,X[85,37]=0.200,X[86,37]=0.212,X[87,37]=0.149,X[88,37]=0.055,X[89,37]=0.071,X[90,37]=0.059,X[91,37]=0.075,X[92,37]=0.067,X[93,37]=0.051,X[94,37]=0.106,X[95,37]=0.212,X[96,37]=0.216,X[97,37]=0.290,X[98,37]=0.294,X[99,37]=0.188,X[100,37]=0.090 X[1,38]=0.122,X[2,38]=0.067,X[3,38]=0.063,X[4,38]=0.239,X[5,38]=0.243,X[6,38]=0.220,X[7,38]=0.282,X[8,38]=0.310,X[9,38]=0.243,X[10,38]=0.157,X[11,38]=0.149,X[12,38]=0.231,X[13,38]=0.267,X[14,38]=0.267,X[15,38]=0.290,X[16,38]=0.259,X[17,38]=0.212,X[18,38]=0.212,X[19,38]=0.216,X[20,38]=0.176,X[21,38]=0.278,X[22,38]=0.278,X[23,38]=0.263,X[24,38]=0.267,X[25,38]=0.227,X[26,38]=0.145,X[27,38]=0.082,X[28,38]=0.059,X[29,38]=0.051,X[30,38]=0.090,X[31,38]=0.184,X[32,38]=0.216,X[33,38]=0.161,X[34,38]=0.071,X[35,38]=0.043,X[36,38]=0.204,X[37,38]=0.369,X[38,38]=0.271,X[39,38]=0.231,X[40,38]=0.251,X[41,38]=0.333,X[42,38]=0.424,X[43,38]=0.459,X[44,38]=0.486,X[45,38]=0.388,X[46,38]=0.388,X[47,38]=0.259,X[48,38]=0.239,X[49,38]=0.259,X[50,38]=0.337 X[51,38]=0.475,X[52,38]=0.502,X[53,38]=0.408,X[54,38]=0.125,X[55,38]=0.141,X[56,38]=0.318,X[57,38]=0.212,X[58,38]=0.165,X[59,38]=0.227,X[60,38]=0.298,X[61,38]=0.278,X[62,38]=0.165,X[63,38]=0.196,X[64,38]=0.267,X[65,38]=0.133,X[66,38]=0.059,X[67,38]=0.059,X[68,38]=0.161,X[69,38]=0.200,X[70,38]=0.110,X[71,38]=0.055,X[72,38]=0.180,X[73,38]=0.333,X[74,38]=0.306,X[75,38]=0.082,X[76,38]=0.067,X[77,38]=0.078,X[78,38]=0.051,X[79,38]=0.082,X[80,38]=0.173,X[81,38]=0.227,X[82,38]=0.282,X[83,38]=0.322,X[84,38]=0.318,X[85,38]=0.294,X[86,38]=0.243,X[87,38]=0.157,X[88,38]=0.082,X[89,38]=0.067,X[90,38]=0.071,X[91,38]=0.055,X[92,38]=0.071,X[93,38]=0.075,X[94,38]=0.133,X[95,38]=0.208,X[96,38]=0.231,X[97,38]=0.318,X[98,38]=0.325,X[99,38]=0.251,X[100,38]=0.176 X[1,39]=0.176,X[2,39]=0.149,X[3,39]=0.110,X[4,39]=0.227,X[5,39]=0.188,X[6,39]=0.129,X[7,39]=0.200,X[8,39]=0.243,X[9,39]=0.349,X[10,39]=0.337,X[11,39]=0.271,X[12,39]=0.282,X[13,39]=0.278,X[14,39]=0.333,X[15,39]=0.345,X[16,39]=0.251,X[17,39]=0.318,X[18,39]=0.227,X[19,39]=0.153,X[20,39]=0.192,X[21,39]=0.267,X[22,39]=0.243,X[23,39]=0.314,X[24,39]=0.212,X[25,39]=0.224,X[26,39]=0.235,X[27,39]=0.173,X[28,39]=0.114,X[29,39]=0.078,X[30,39]=0.106,X[31,39]=0.188,X[32,39]=0.180,X[33,39]=0.102,X[34,39]=0.082,X[35,39]=0.094,X[36,39]=0.204,X[37,39]=0.341,X[38,39]=0.384,X[39,39]=0.329,X[40,39]=0.243,X[41,39]=0.353,X[42,39]=0.443,X[43,39]=0.506,X[44,39]=0.439,X[45,39]=0.271,X[46,39]=0.278,X[47,39]=0.314,X[48,39]=0.337,X[49,39]=0.286,X[50,39]=0.282 X[51,39]=0.337,X[52,39]=0.502,X[53,39]=0.341,X[54,39]=0.063,X[55,39]=0.067,X[56,39]=0.298,X[57,39]=0.314,X[58,39]=0.239,X[59,39]=0.325,X[60,39]=0.408,X[61,39]=0.208,X[62,39]=0.051,X[63,39]=0.173,X[64,39]=0.282,X[65,39]=0.220,X[66,39]=0.149,X[67,39]=0.082,X[68,39]=0.180,X[69,39]=0.204,X[70,39]=0.106,X[71,39]=0.114,X[72,39]=0.208,X[73,39]=0.278,X[74,39]=0.235,X[75,39]=0.090,X[76,39]=0.078,X[77,39]=0.059,X[78,39]=0.055,X[79,39]=0.078,X[80,39]=0.173,X[81,39]=0.259,X[82,39]=0.263,X[83,39]=0.137,X[84,39]=0.118,X[85,39]=0.231,X[86,39]=0.333,X[87,39]=0.325,X[88,39]=0.212,X[89,39]=0.094,X[90,39]=0.067,X[91,39]=0.059,X[92,39]=0.129,X[93,39]=0.212,X[94,39]=0.216,X[95,39]=0.204,X[96,39]=0.196,X[97,39]=0.122,X[98,39]=0.114,X[99,39]=0.176,X[100,39]=0.173 X[1,40]=0.200,X[2,40]=0.173,X[3,40]=0.165,X[4,40]=0.224,X[5,40]=0.192,X[6,40]=0.133,X[7,40]=0.173,X[8,40]=0.204,X[9,40]=0.318,X[10,40]=0.380,X[11,40]=0.337,X[12,40]=0.341,X[13,40]=0.259,X[14,40]=0.298,X[15,40]=0.212,X[16,40]=0.082,X[17,40]=0.224,X[18,40]=0.275,X[19,40]=0.231,X[20,40]=0.173,X[21,40]=0.173,X[22,40]=0.216,X[23,40]=0.384,X[24,40]=0.145,X[25,40]=0.090,X[26,40]=0.180,X[27,40]=0.180,X[28,40]=0.216,X[29,40]=0.192,X[30,40]=0.188,X[31,40]=0.204,X[32,40]=0.224,X[33,40]=0.204,X[34,40]=0.161,X[35,40]=0.188,X[36,40]=0.275,X[37,40]=0.341,X[38,40]=0.278,X[39,40]=0.145,X[40,40]=0.192,X[41,40]=0.361,X[42,40]=0.443,X[43,40]=0.533,X[44,40]=0.455,X[45,40]=0.306,X[46,40]=0.255,X[47,40]=0.298,X[48,40]=0.298,X[49,40]=0.169,X[50,40]=0.286 X[51,40]=0.267,X[52,40]=0.337,X[53,40]=0.247,X[54,40]=0.090,X[55,40]=0.051,X[56,40]=0.208,X[57,40]=0.357,X[58,40]=0.282,X[59,40]=0.384,X[60,40]=0.357,X[61,40]=0.184,X[62,40]=0.141,X[63,40]=0.188,X[64,40]=0.306,X[65,40]=0.271,X[66,40]=0.184,X[67,40]=0.188,X[68,40]=0.298,X[69,40]=0.329,X[70,40]=0.227,X[71,40]=0.251,X[72,40]=0.200,X[73,40]=0.192,X[74,40]=0.094,X[75,40]=0.043,X[76,40]=0.059,X[77,40]=0.063,X[78,40]=0.106,X[79,40]=0.071,X[80,40]=0.090,X[81,40]=0.173,X[82,40]=0.239,X[83,40]=0.110,X[84,40]=0.039,X[85,40]=0.141,X[86,40]=0.294,X[87,40]=0.345,X[88,40]=0.263,X[89,40]=0.059,X[90,40]=0.055,X[91,40]=0.067,X[92,40]=0.184,X[93,40]=0.290,X[94,40]=0.227,X[95,40]=0.192,X[96,40]=0.157,X[97,40]=0.039,X[98,40]=0.055,X[99,40]=0.118,X[100,40]=0.173 X[1,41]=0.137,X[2,41]=0.176,X[3,41]=0.180,X[4,41]=0.231,X[5,41]=0.286,X[6,41]=0.188,X[7,41]=0.235,X[8,41]=0.322,X[9,41]=0.329,X[10,41]=0.318,X[11,41]=0.345,X[12,41]=0.255,X[13,41]=0.157,X[14,41]=0.271,X[15,41]=0.188,X[16,41]=0.051,X[17,41]=0.075,X[18,41]=0.141,X[19,41]=0.212,X[20,41]=0.231,X[21,41]=0.192,X[22,41]=0.176,X[23,41]=0.196,X[24,41]=0.141,X[25,41]=0.153,X[26,41]=0.224,X[27,41]=0.294,X[28,41]=0.275,X[29,41]=0.275,X[30,41]=0.239,X[31,41]=0.220,X[32,41]=0.271,X[33,41]=0.325,X[34,41]=0.247,X[35,41]=0.212,X[36,41]=0.302,X[37,41]=0.180,X[38,41]=0.078,X[39,41]=0.122,X[40,41]=0.243,X[41,41]=0.384,X[42,41]=0.463,X[43,41]=0.545,X[44,41]=0.412,X[45,41]=0.243,X[46,41]=0.298,X[47,41]=0.298,X[48,41]=0.204,X[49,41]=0.075,X[50,41]=0.086 X[51,41]=0.161,X[52,41]=0.251,X[53,41]=0.325,X[54,41]=0.353,X[55,41]=0.278,X[56,41]=0.263,X[57,41]=0.396,X[58,41]=0.396,X[59,41]=0.408,X[60,41]=0.306,X[61,41]=0.278,X[62,41]=0.212,X[63,41]=0.290,X[64,41]=0.373,X[65,41]=0.275,X[66,41]=0.145,X[67,41]=0.278,X[68,41]=0.416,X[69,41]=0.420,X[70,41]=0.294,X[71,41]=0.212,X[72,41]=0.180,X[73,41]=0.208,X[74,41]=0.153,X[75,41]=0.059,X[76,41]=0.055,X[77,41]=0.106,X[78,41]=0.184,X[79,41]=0.114,X[80,41]=0.067,X[81,41]=0.114,X[82,41]=0.267,X[83,41]=0.165,X[84,41]=0.051,X[85,41]=0.200,X[86,41]=0.400,X[87,41]=0.196,X[88,41]=0.165,X[89,41]=0.122,X[90,41]=0.063,X[91,41]=0.063,X[92,41]=0.102,X[93,41]=0.169,X[94,41]=0.188,X[95,41]=0.204,X[96,41]=0.216,X[97,41]=0.145,X[98,41]=0.075,X[99,41]=0.055,X[100,41]=0.075 X[1,42]=0.082,X[2,42]=0.098,X[3,42]=0.173,X[4,42]=0.247,X[5,42]=0.361,X[6,42]=0.294,X[7,42]=0.318,X[8,42]=0.271,X[9,42]=0.255,X[10,42]=0.267,X[11,42]=0.149,X[12,42]=0.075,X[13,42]=0.133,X[14,42]=0.243,X[15,42]=0.153,X[16,42]=0.035,X[17,42]=0.055,X[18,42]=0.078,X[19,42]=0.086,X[20,42]=0.157,X[21,42]=0.200,X[22,42]=0.200,X[23,42]=0.165,X[24,42]=0.192,X[25,42]=0.224,X[26,42]=0.204,X[27,42]=0.208,X[28,42]=0.282,X[29,42]=0.278,X[30,42]=0.208,X[31,42]=0.239,X[32,42]=0.271,X[33,42]=0.267,X[34,42]=0.271,X[35,42]=0.255,X[36,42]=0.220,X[37,42]=0.169,X[38,42]=0.188,X[39,42]=0.247,X[40,42]=0.302,X[41,42]=0.400,X[42,42]=0.514,X[43,42]=0.576,X[44,42]=0.365,X[45,42]=0.082,X[46,42]=0.118,X[47,42]=0.243,X[48,42]=0.176,X[49,42]=0.067,X[50,42]=0.059 X[51,42]=0.024,X[52,42]=0.102,X[53,42]=0.224,X[54,42]=0.314,X[55,42]=0.361,X[56,42]=0.392,X[57,42]=0.431,X[58,42]=0.451,X[59,42]=0.341,X[60,42]=0.271,X[61,42]=0.157,X[62,42]=0.094,X[63,42]=0.278,X[64,42]=0.341,X[65,42]=0.290,X[66,42]=0.282,X[67,42]=0.400,X[68,42]=0.424,X[69,42]=0.263,X[70,42]=0.192,X[71,42]=0.212,X[72,42]=0.208,X[73,42]=0.224,X[74,42]=0.267,X[75,42]=0.204,X[76,42]=0.102,X[77,42]=0.114,X[78,42]=0.212,X[79,42]=0.106,X[80,42]=0.051,X[81,42]=0.102,X[82,42]=0.329,X[83,42]=0.239,X[84,42]=0.055,X[85,42]=0.165,X[86,42]=0.247,X[87,42]=0.125,X[88,42]=0.169,X[89,42]=0.169,X[90,42]=0.075,X[91,42]=0.090,X[92,42]=0.173,X[93,42]=0.235,X[94,42]=0.227,X[95,42]=0.220,X[96,42]=0.282,X[97,42]=0.294,X[98,42]=0.200,X[99,42]=0.102,X[100,42]=0.051 X[1,43]=0.125,X[2,43]=0.169,X[3,43]=0.227,X[4,43]=0.251,X[5,43]=0.302,X[6,43]=0.298,X[7,43]=0.259,X[8,43]=0.243,X[9,43]=0.227,X[10,43]=0.110,X[11,43]=0.043,X[12,43]=0.055,X[13,43]=0.133,X[14,43]=0.231,X[15,43]=0.157,X[16,43]=0.055,X[17,43]=0.071,X[18,43]=0.067,X[19,43]=0.063,X[20,43]=0.071,X[21,43]=0.071,X[22,43]=0.141,X[23,43]=0.196,X[24,43]=0.239,X[25,43]=0.227,X[26,43]=0.129,X[27,43]=0.200,X[28,43]=0.271,X[29,43]=0.184,X[30,43]=0.220,X[31,43]=0.278,X[32,43]=0.271,X[33,43]=0.247,X[34,43]=0.173,X[35,43]=0.188,X[36,43]=0.298,X[37,43]=0.251,X[38,43]=0.263,X[39,43]=0.290,X[40,43]=0.318,X[41,43]=0.420,X[42,43]=0.490,X[43,43]=0.557,X[44,43]=0.365,X[45,43]=0.078,X[46,43]=0.110,X[47,43]=0.235,X[48,43]=0.165,X[49,43]=0.067,X[50,43]=0.110 X[51,43]=0.133,X[52,43]=0.055,X[53,43]=0.122,X[54,43]=0.192,X[55,43]=0.196,X[56,43]=0.216,X[57,43]=0.294,X[58,43]=0.420,X[59,43]=0.314,X[60,43]=0.173,X[61,43]=0.067,X[62,43]=0.063,X[63,43]=0.098,X[64,43]=0.071,X[65,43]=0.247,X[66,43]=0.424,X[67,43]=0.431,X[68,43]=0.267,X[69,43]=0.220,X[70,43]=0.275,X[71,43]=0.196,X[72,43]=0.208,X[73,43]=0.259,X[74,43]=0.271,X[75,43]=0.271,X[76,43]=0.243,X[77,43]=0.173,X[78,43]=0.184,X[79,43]=0.090,X[80,43]=0.031,X[81,43]=0.082,X[82,43]=0.208,X[83,43]=0.212,X[84,43]=0.102,X[85,43]=0.071,X[86,43]=0.043,X[87,43]=0.094,X[88,43]=0.184,X[89,43]=0.169,X[90,43]=0.141,X[91,43]=0.251,X[92,43]=0.322,X[93,43]=0.196,X[94,43]=0.161,X[95,43]=0.255,X[96,43]=0.255,X[97,43]=0.188,X[98,43]=0.275,X[99,43]=0.235,X[100,43]=0.149 X[1,44]=0.220,X[2,44]=0.255,X[3,44]=0.306,X[4,44]=0.271,X[5,44]=0.259,X[6,44]=0.271,X[7,44]=0.302,X[8,44]=0.322,X[9,44]=0.286,X[10,44]=0.259,X[11,44]=0.145,X[12,44]=0.071,X[13,44]=0.114,X[14,44]=0.227,X[15,44]=0.169,X[16,44]=0.075,X[17,44]=0.086,X[18,44]=0.125,X[19,44]=0.071,X[20,44]=0.051,X[21,44]=0.059,X[22,44]=0.075,X[23,44]=0.224,X[24,44]=0.314,X[25,44]=0.345,X[26,44]=0.247,X[27,44]=0.204,X[28,44]=0.137,X[29,44]=0.204,X[30,44]=0.267,X[31,44]=0.275,X[32,44]=0.286,X[33,44]=0.282,X[34,44]=0.271,X[35,44]=0.204,X[36,44]=0.208,X[37,44]=0.259,X[38,44]=0.294,X[39,44]=0.196,X[40,44]=0.165,X[41,44]=0.290,X[42,44]=0.298,X[43,44]=0.298,X[44,44]=0.259,X[45,44]=0.102,X[46,44]=0.145,X[47,44]=0.224,X[48,44]=0.169,X[49,44]=0.051,X[50,44]=0.141 X[51,44]=0.286,X[52,44]=0.125,X[53,44]=0.086,X[54,44]=0.173,X[55,44]=0.180,X[56,44]=0.192,X[57,44]=0.278,X[58,44]=0.365,X[59,44]=0.341,X[60,44]=0.169,X[61,44]=0.075,X[62,44]=0.047,X[63,44]=0.051,X[64,44]=0.110,X[65,44]=0.353,X[66,44]=0.498,X[67,44]=0.502,X[68,44]=0.427,X[69,44]=0.427,X[70,44]=0.431,X[71,44]=0.267,X[72,44]=0.204,X[73,44]=0.278,X[74,44]=0.173,X[75,44]=0.094,X[76,44]=0.208,X[77,44]=0.282,X[78,44]=0.208,X[79,44]=0.082,X[80,44]=0.078,X[81,44]=0.145,X[82,44]=0.208,X[83,44]=0.259,X[84,44]=0.220,X[85,44]=0.090,X[86,44]=0.055,X[87,44]=0.094,X[88,44]=0.196,X[89,44]=0.184,X[90,44]=0.231,X[91,44]=0.310,X[92,44]=0.188,X[93,44]=0.106,X[94,44]=0.161,X[95,44]=0.275,X[96,44]=0.243,X[97,44]=0.078,X[98,44]=0.090,X[99,44]=0.224,X[100,44]=0.286 X[1,45]=0.314,X[2,45]=0.337,X[3,45]=0.353,X[4,45]=0.263,X[5,45]=0.239,X[6,45]=0.212,X[7,45]=0.325,X[8,45]=0.235,X[9,45]=0.173,X[10,45]=0.314,X[11,45]=0.259,X[12,45]=0.173,X[13,45]=0.145,X[14,45]=0.216,X[15,45]=0.153,X[16,45]=0.051,X[17,45]=0.118,X[18,45]=0.184,X[19,45]=0.149,X[20,45]=0.114,X[21,45]=0.149,X[22,45]=0.157,X[23,45]=0.251,X[24,45]=0.231,X[25,45]=0.235,X[26,45]=0.278,X[27,45]=0.278,X[28,45]=0.231,X[29,45]=0.188,X[30,45]=0.161,X[31,45]=0.282,X[32,45]=0.322,X[33,45]=0.247,X[34,45]=0.318,X[35,45]=0.298,X[36,45]=0.208,X[37,45]=0.180,X[38,45]=0.224,X[39,45]=0.153,X[40,45]=0.090,X[41,45]=0.200,X[42,45]=0.145,X[43,45]=0.059,X[44,45]=0.125,X[45,45]=0.173,X[46,45]=0.176,X[47,45]=0.208,X[48,45]=0.161,X[49,45]=0.055,X[50,45]=0.067 X[51,45]=0.263,X[52,45]=0.251,X[53,45]=0.075,X[54,45]=0.078,X[55,45]=0.157,X[56,45]=0.243,X[57,45]=0.314,X[58,45]=0.310,X[59,45]=0.361,X[60,45]=0.255,X[61,45]=0.165,X[62,45]=0.086,X[63,45]=0.106,X[64,45]=0.322,X[65,45]=0.514,X[66,45]=0.314,X[67,45]=0.220,X[68,45]=0.349,X[69,45]=0.357,X[70,45]=0.388,X[71,45]=0.259,X[72,45]=0.212,X[73,45]=0.282,X[74,45]=0.169,X[75,45]=0.059,X[76,45]=0.063,X[77,45]=0.204,X[78,45]=0.275,X[79,45]=0.165,X[80,45]=0.192,X[81,45]=0.255,X[82,45]=0.337,X[83,45]=0.325,X[84,45]=0.247,X[85,45]=0.141,X[86,45]=0.059,X[87,45]=0.082,X[88,45]=0.188,X[89,45]=0.200,X[90,45]=0.173,X[91,45]=0.114,X[92,45]=0.157,X[93,45]=0.239,X[94,45]=0.231,X[95,45]=0.282,X[96,45]=0.259,X[97,45]=0.098,X[98,45]=0.067,X[99,45]=0.176,X[100,45]=0.294 X[1,46]=0.373,X[2,46]=0.380,X[3,46]=0.263,X[4,46]=0.180,X[5,46]=0.239,X[6,46]=0.192,X[7,46]=0.294,X[8,46]=0.157,X[9,46]=0.039,X[10,46]=0.102,X[11,46]=0.212,X[12,46]=0.259,X[13,46]=0.192,X[14,46]=0.208,X[15,46]=0.157,X[16,46]=0.059,X[17,46]=0.075,X[18,46]=0.149,X[19,46]=0.184,X[20,46]=0.247,X[21,46]=0.278,X[22,46]=0.239,X[23,46]=0.247,X[24,46]=0.196,X[25,46]=0.180,X[26,46]=0.259,X[27,46]=0.314,X[28,46]=0.384,X[29,46]=0.251,X[30,46]=0.102,X[31,46]=0.294,X[32,46]=0.361,X[33,46]=0.294,X[34,46]=0.294,X[35,46]=0.196,X[36,46]=0.247,X[37,46]=0.227,X[38,46]=0.180,X[39,46]=0.145,X[40,46]=0.153,X[41,46]=0.216,X[42,46]=0.161,X[43,46]=0.137,X[44,46]=0.216,X[45,46]=0.271,X[46,46]=0.247,X[47,46]=0.239,X[48,46]=0.200,X[49,46]=0.110,X[50,46]=0.067 X[51,46]=0.176,X[52,46]=0.306,X[53,46]=0.110,X[54,46]=0.047,X[55,46]=0.075,X[56,46]=0.235,X[57,46]=0.231,X[58,46]=0.239,X[59,46]=0.361,X[60,46]=0.325,X[61,46]=0.314,X[62,46]=0.235,X[63,46]=0.278,X[64,46]=0.467,X[65,46]=0.369,X[66,46]=0.071,X[67,46]=0.063,X[68,46]=0.161,X[69,46]=0.212,X[70,46]=0.094,X[71,46]=0.059,X[72,46]=0.208,X[73,46]=0.325,X[74,46]=0.169,X[75,46]=0.071,X[76,46]=0.043,X[77,46]=0.118,X[78,46]=0.216,X[79,46]=0.235,X[80,46]=0.278,X[81,46]=0.353,X[82,46]=0.247,X[83,46]=0.102,X[84,46]=0.165,X[85,46]=0.200,X[86,46]=0.157,X[87,46]=0.129,X[88,46]=0.208,X[89,46]=0.204,X[90,46]=0.118,X[91,46]=0.196,X[92,46]=0.298,X[93,46]=0.267,X[94,46]=0.216,X[95,46]=0.337,X[96,46]=0.263,X[97,46]=0.102,X[98,46]=0.090,X[99,46]=0.200,X[100,46]=0.318 X[1,47]=0.267,X[2,47]=0.161,X[3,47]=0.051,X[4,47]=0.149,X[5,47]=0.275,X[6,47]=0.180,X[7,47]=0.243,X[8,47]=0.157,X[9,47]=0.063,X[10,47]=0.051,X[11,47]=0.055,X[12,47]=0.137,X[13,47]=0.188,X[14,47]=0.192,X[15,47]=0.169,X[16,47]=0.129,X[17,47]=0.153,X[18,47]=0.204,X[19,47]=0.255,X[20,47]=0.263,X[21,47]=0.220,X[22,47]=0.196,X[23,47]=0.224,X[24,47]=0.243,X[25,47]=0.294,X[26,47]=0.298,X[27,47]=0.157,X[28,47]=0.204,X[29,47]=0.239,X[30,47]=0.106,X[31,47]=0.243,X[32,47]=0.286,X[33,47]=0.192,X[34,47]=0.110,X[35,47]=0.067,X[36,47]=0.098,X[37,47]=0.204,X[38,47]=0.216,X[39,47]=0.184,X[40,47]=0.176,X[41,47]=0.173,X[42,47]=0.200,X[43,47]=0.235,X[44,47]=0.278,X[45,47]=0.208,X[46,47]=0.153,X[47,47]=0.239,X[48,47]=0.341,X[49,47]=0.341,X[50,47]=0.310 X[51,47]=0.298,X[52,47]=0.345,X[53,47]=0.227,X[54,47]=0.071,X[55,47]=0.082,X[56,47]=0.200,X[57,47]=0.216,X[58,47]=0.251,X[59,47]=0.325,X[60,47]=0.333,X[61,47]=0.322,X[62,47]=0.345,X[63,47]=0.412,X[64,47]=0.369,X[65,47]=0.090,X[66,47]=0.055,X[67,47]=0.059,X[68,47]=0.153,X[69,47]=0.220,X[70,47]=0.090,X[71,47]=0.059,X[72,47]=0.235,X[73,47]=0.369,X[74,47]=0.188,X[75,47]=0.082,X[76,47]=0.149,X[77,47]=0.227,X[78,47]=0.259,X[79,47]=0.267,X[80,47]=0.259,X[81,47]=0.161,X[82,47]=0.047,X[83,47]=0.055,X[84,47]=0.067,X[85,47]=0.141,X[86,47]=0.188,X[87,47]=0.220,X[88,47]=0.239,X[89,47]=0.227,X[90,47]=0.259,X[91,47]=0.322,X[92,47]=0.235,X[93,47]=0.090,X[94,47]=0.145,X[95,47]=0.345,X[96,47]=0.314,X[97,47]=0.165,X[98,47]=0.141,X[99,47]=0.227,X[100,47]=0.333 X[1,48]=0.059,X[2,48]=0.051,X[3,48]=0.051,X[4,48]=0.227,X[5,48]=0.400,X[6,48]=0.192,X[7,48]=0.227,X[8,48]=0.125,X[9,48]=0.055,X[10,48]=0.067,X[11,48]=0.059,X[12,48]=0.125,X[13,48]=0.176,X[14,48]=0.212,X[15,48]=0.212,X[16,48]=0.173,X[17,48]=0.224,X[18,48]=0.224,X[19,48]=0.125,X[20,48]=0.110,X[21,48]=0.192,X[22,48]=0.212,X[23,48]=0.247,X[24,48]=0.306,X[25,48]=0.220,X[26,48]=0.090,X[27,48]=0.067,X[28,48]=0.071,X[29,48]=0.071,X[30,48]=0.082,X[31,48]=0.208,X[32,48]=0.216,X[33,48]=0.090,X[34,48]=0.051,X[35,48]=0.067,X[36,48]=0.071,X[37,48]=0.176,X[38,48]=0.298,X[39,48]=0.212,X[40,48]=0.184,X[41,48]=0.204,X[42,48]=0.235,X[43,48]=0.169,X[44,48]=0.075,X[45,48]=0.075,X[46,48]=0.153,X[47,48]=0.224,X[48,48]=0.314,X[49,48]=0.337,X[50,48]=0.376 X[51,48]=0.396,X[52,48]=0.431,X[53,48]=0.451,X[54,48]=0.376,X[55,48]=0.314,X[56,48]=0.302,X[57,48]=0.275,X[58,48]=0.325,X[59,48]=0.251,X[60,48]=0.306,X[61,48]=0.314,X[62,48]=0.380,X[63,48]=0.388,X[64,48]=0.173,X[65,48]=0.043,X[66,48]=0.059,X[67,48]=0.071,X[68,48]=0.157,X[69,48]=0.196,X[70,48]=0.102,X[71,48]=0.188,X[72,48]=0.349,X[73,48]=0.349,X[74,48]=0.224,X[75,48]=0.200,X[76,48]=0.306,X[77,48]=0.349,X[78,48]=0.275,X[79,48]=0.306,X[80,48]=0.318,X[81,48]=0.161,X[82,48]=0.082,X[83,48]=0.051,X[84,48]=0.055,X[85,48]=0.063,X[86,48]=0.086,X[87,48]=0.173,X[88,48]=0.227,X[89,48]=0.302,X[90,48]=0.271,X[91,48]=0.129,X[92,48]=0.051,X[93,48]=0.071,X[94,48]=0.129,X[95,48]=0.267,X[96,48]=0.286,X[97,48]=0.200,X[98,48]=0.196,X[99,48]=0.251,X[100,48]=0.204 X[1,49]=0.055,X[2,49]=0.075,X[3,49]=0.082,X[4,49]=0.176,X[5,49]=0.243,X[6,49]=0.165,X[7,49]=0.224,X[8,49]=0.133,X[9,49]=0.063,X[10,49]=0.098,X[11,49]=0.180,X[12,49]=0.239,X[13,49]=0.224,X[14,49]=0.224,X[15,49]=0.271,X[16,49]=0.275,X[17,49]=0.204,X[18,49]=0.204,X[19,49]=0.180,X[20,49]=0.169,X[21,49]=0.231,X[22,49]=0.239,X[23,49]=0.286,X[24,49]=0.329,X[25,49]=0.086,X[26,49]=0.086,X[27,49]=0.161,X[28,49]=0.137,X[29,49]=0.075,X[30,49]=0.082,X[31,49]=0.212,X[32,49]=0.212,X[33,49]=0.114,X[34,49]=0.075,X[35,49]=0.082,X[36,49]=0.055,X[37,49]=0.192,X[38,49]=0.341,X[39,49]=0.145,X[40,49]=0.161,X[41,49]=0.263,X[42,49]=0.282,X[43,49]=0.212,X[44,49]=0.125,X[45,49]=0.165,X[46,49]=0.212,X[47,49]=0.212,X[48,49]=0.251,X[49,49]=0.235,X[50,49]=0.200 X[51,49]=0.314,X[52,49]=0.459,X[53,49]=0.404,X[54,49]=0.373,X[55,49]=0.392,X[56,49]=0.412,X[57,49]=0.404,X[58,49]=0.376,X[59,49]=0.333,X[60,49]=0.376,X[61,49]=0.416,X[62,49]=0.404,X[63,49]=0.302,X[64,49]=0.212,X[65,49]=0.149,X[66,49]=0.082,X[67,49]=0.071,X[68,49]=0.145,X[69,49]=0.188,X[70,49]=0.227,X[71,49]=0.392,X[72,49]=0.333,X[73,49]=0.235,X[74,49]=0.286,X[75,49]=0.349,X[76,49]=0.314,X[77,49]=0.180,X[78,49]=0.098,X[79,49]=0.212,X[80,49]=0.255,X[81,49]=0.271,X[82,49]=0.259,X[83,49]=0.176,X[84,49]=0.118,X[85,49]=0.071,X[86,49]=0.055,X[87,49]=0.106,X[88,49]=0.227,X[89,49]=0.263,X[90,49]=0.098,X[91,49]=0.035,X[92,49]=0.067,X[93,49]=0.106,X[94,49]=0.165,X[95,49]=0.216,X[96,49]=0.267,X[97,49]=0.212,X[98,49]=0.208,X[99,49]=0.141,X[100,49]=0.047 X[1,50]=0.114,X[2,50]=0.141,X[3,50]=0.188,X[4,50]=0.114,X[5,50]=0.047,X[6,50]=0.129,X[7,50]=0.220,X[8,50]=0.137,X[9,50]=0.122,X[10,50]=0.243,X[11,50]=0.325,X[12,50]=0.208,X[13,50]=0.180,X[14,50]=0.259,X[15,50]=0.278,X[16,50]=0.290,X[17,50]=0.286,X[18,50]=0.220,X[19,50]=0.216,X[20,50]=0.212,X[21,50]=0.188,X[22,50]=0.180,X[23,50]=0.263,X[24,50]=0.216,X[25,50]=0.071,X[26,50]=0.082,X[27,50]=0.173,X[28,50]=0.204,X[29,50]=0.169,X[30,50]=0.122,X[31,50]=0.196,X[32,50]=0.204,X[33,50]=0.122,X[34,50]=0.082,X[35,50]=0.063,X[36,50]=0.063,X[37,50]=0.094,X[38,50]=0.106,X[39,50]=0.063,X[40,50]=0.184,X[41,50]=0.322,X[42,50]=0.345,X[43,50]=0.318,X[44,50]=0.275,X[45,50]=0.192,X[46,50]=0.184,X[47,50]=0.227,X[48,50]=0.278,X[49,50]=0.286,X[50,50]=0.278 X[51,50]=0.435,X[52,50]=0.345,X[53,50]=0.098,X[54,50]=0.153,X[55,50]=0.224,X[56,50]=0.275,X[57,50]=0.294,X[58,50]=0.247,X[59,50]=0.298,X[60,50]=0.412,X[61,50]=0.451,X[62,50]=0.439,X[63,50]=0.427,X[64,50]=0.373,X[65,50]=0.337,X[66,50]=0.275,X[67,50]=0.180,X[68,50]=0.196,X[69,50]=0.251,X[70,50]=0.361,X[71,50]=0.341,X[72,50]=0.243,X[73,50]=0.286,X[74,50]=0.333,X[75,50]=0.251,X[76,50]=0.137,X[77,50]=0.075,X[78,50]=0.071,X[79,50]=0.184,X[80,50]=0.133,X[81,50]=0.118,X[82,50]=0.263,X[83,50]=0.337,X[84,50]=0.208,X[85,50]=0.059,X[86,50]=0.086,X[87,50]=0.098,X[88,50]=0.224,X[89,50]=0.224,X[90,50]=0.055,X[91,50]=0.055,X[92,50]=0.145,X[93,50]=0.204,X[94,50]=0.267,X[95,50]=0.286,X[96,50]=0.278,X[97,50]=0.180,X[98,50]=0.208,X[99,50]=0.098,X[100,50]=0.035 X[1,51]=0.212,X[2,51]=0.255,X[3,51]=0.333,X[4,51]=0.184,X[5,51]=0.063,X[6,51]=0.125,X[7,51]=0.224,X[8,51]=0.161,X[9,51]=0.220,X[10,51]=0.337,X[11,51]=0.176,X[12,51]=0.043,X[13,51]=0.149,X[14,51]=0.282,X[15,51]=0.275,X[16,51]=0.259,X[17,51]=0.247,X[18,51]=0.282,X[19,51]=0.267,X[20,51]=0.271,X[21,51]=0.306,X[22,51]=0.208,X[23,51]=0.231,X[24,51]=0.125,X[25,51]=0.055,X[26,51]=0.059,X[27,51]=0.098,X[28,51]=0.161,X[29,51]=0.208,X[30,51]=0.188,X[31,51]=0.196,X[32,51]=0.216,X[33,51]=0.125,X[34,51]=0.055,X[35,51]=0.071,X[36,51]=0.094,X[37,51]=0.067,X[38,51]=0.067,X[39,51]=0.063,X[40,51]=0.212,X[41,51]=0.251,X[42,51]=0.216,X[43,51]=0.290,X[44,51]=0.314,X[45,51]=0.333,X[46,51]=0.255,X[47,51]=0.200,X[48,51]=0.220,X[49,51]=0.208,X[50,51]=0.439 X[51,51]=0.447,X[52,51]=0.231,X[53,51]=0.176,X[54,51]=0.259,X[55,51]=0.376,X[56,51]=0.286,X[57,51]=0.106,X[58,51]=0.071,X[59,51]=0.306,X[60,51]=0.459,X[61,51]=0.459,X[62,51]=0.443,X[63,51]=0.314,X[64,51]=0.325,X[65,51]=0.392,X[66,51]=0.408,X[67,51]=0.412,X[68,51]=0.392,X[69,51]=0.369,X[70,51]=0.392,X[71,51]=0.337,X[72,51]=0.333,X[73,51]=0.298,X[74,51]=0.227,X[75,51]=0.188,X[76,51]=0.188,X[77,51]=0.157,X[78,51]=0.118,X[79,51]=0.184,X[80,51]=0.141,X[81,51]=0.051,X[82,51]=0.067,X[83,51]=0.149,X[84,51]=0.106,X[85,51]=0.082,X[86,51]=0.067,X[87,51]=0.078,X[88,51]=0.212,X[89,51]=0.208,X[90,51]=0.078,X[91,51]=0.090,X[92,51]=0.208,X[93,51]=0.310,X[94,51]=0.322,X[95,51]=0.176,X[96,51]=0.078,X[97,51]=0.145,X[98,51]=0.204,X[99,51]=0.137,X[100,51]=0.137 X[1,52]=0.318,X[2,52]=0.329,X[3,52]=0.212,X[4,52]=0.075,X[5,52]=0.055,X[6,52]=0.145,X[7,52]=0.208,X[8,52]=0.149,X[9,52]=0.161,X[10,52]=0.110,X[11,52]=0.059,X[12,52]=0.051,X[13,52]=0.145,X[14,52]=0.294,X[15,52]=0.263,X[16,52]=0.243,X[17,52]=0.212,X[18,52]=0.196,X[19,52]=0.224,X[20,52]=0.204,X[21,52]=0.333,X[22,52]=0.349,X[23,52]=0.267,X[24,52]=0.133,X[25,52]=0.059,X[26,52]=0.059,X[27,52]=0.063,X[28,52]=0.063,X[29,52]=0.133,X[30,52]=0.204,X[31,52]=0.188,X[32,52]=0.188,X[33,52]=0.118,X[34,52]=0.063,X[35,52]=0.075,X[36,52]=0.051,X[37,52]=0.055,X[38,52]=0.055,X[39,52]=0.063,X[40,52]=0.192,X[41,52]=0.243,X[42,52]=0.231,X[43,52]=0.180,X[44,52]=0.090,X[45,52]=0.247,X[46,52]=0.396,X[47,52]=0.282,X[48,52]=0.239,X[49,52]=0.165,X[50,52]=0.302 X[51,52]=0.255,X[52,52]=0.282,X[53,52]=0.310,X[54,52]=0.349,X[55,52]=0.216,X[56,52]=0.098,X[57,52]=0.051,X[58,52]=0.247,X[59,52]=0.475,X[60,52]=0.337,X[61,52]=0.275,X[62,52]=0.435,X[63,52]=0.149,X[64,52]=0.039,X[65,52]=0.102,X[66,52]=0.176,X[67,52]=0.290,X[68,52]=0.325,X[69,52]=0.404,X[70,52]=0.459,X[71,52]=0.482,X[72,52]=0.471,X[73,52]=0.435,X[74,52]=0.388,X[75,52]=0.196,X[76,52]=0.173,X[77,52]=0.196,X[78,52]=0.239,X[79,52]=0.227,X[80,52]=0.149,X[81,52]=0.067,X[82,52]=0.059,X[83,52]=0.055,X[84,52]=0.059,X[85,52]=0.055,X[86,52]=0.047,X[87,52]=0.094,X[88,52]=0.204,X[89,52]=0.208,X[90,52]=0.075,X[91,52]=0.067,X[92,52]=0.173,X[93,52]=0.231,X[94,52]=0.137,X[95,52]=0.063,X[96,52]=0.055,X[97,52]=0.149,X[98,52]=0.200,X[99,52]=0.212,X[100,52]=0.235 X[1,53]=0.282,X[2,53]=0.129,X[3,53]=0.051,X[4,53]=0.043,X[5,53]=0.082,X[6,53]=0.161,X[7,53]=0.204,X[8,53]=0.165,X[9,53]=0.063,X[10,53]=0.035,X[11,53]=0.071,X[12,53]=0.075,X[13,53]=0.169,X[14,53]=0.322,X[15,53]=0.235,X[16,53]=0.231,X[17,53]=0.196,X[18,53]=0.063,X[19,53]=0.067,X[20,53]=0.071,X[21,53]=0.102,X[22,53]=0.247,X[23,53]=0.349,X[24,53]=0.153,X[25,53]=0.063,X[26,53]=0.055,X[27,53]=0.047,X[28,53]=0.071,X[29,53]=0.063,X[30,53]=0.149,X[31,53]=0.192,X[32,53]=0.196,X[33,53]=0.176,X[34,53]=0.145,X[35,53]=0.075,X[36,53]=0.059,X[37,53]=0.063,X[38,53]=0.063,X[39,53]=0.086,X[40,53]=0.169,X[41,53]=0.275,X[42,53]=0.176,X[43,53]=0.043,X[44,53]=0.059,X[45,53]=0.086,X[46,53]=0.196,X[47,53]=0.325,X[48,53]=0.259,X[49,53]=0.173,X[50,53]=0.208 X[51,53]=0.243,X[52,53]=0.271,X[53,53]=0.282,X[54,53]=0.149,X[55,53]=0.051,X[56,53]=0.055,X[57,53]=0.188,X[58,53]=0.443,X[59,53]=0.427,X[60,53]=0.118,X[61,53]=0.102,X[62,53]=0.380,X[63,53]=0.263,X[64,53]=0.059,X[65,53]=0.114,X[66,53]=0.188,X[67,53]=0.239,X[68,53]=0.267,X[69,53]=0.353,X[70,53]=0.408,X[71,53]=0.337,X[72,53]=0.329,X[73,53]=0.376,X[74,53]=0.384,X[75,53]=0.192,X[76,53]=0.204,X[77,53]=0.286,X[78,53]=0.310,X[79,53]=0.298,X[80,53]=0.208,X[81,53]=0.114,X[82,53]=0.067,X[83,53]=0.067,X[84,53]=0.055,X[85,53]=0.059,X[86,53]=0.059,X[87,53]=0.086,X[88,53]=0.196,X[89,53]=0.200,X[90,53]=0.055,X[91,53]=0.035,X[92,53]=0.075,X[93,53]=0.082,X[94,53]=0.051,X[95,53]=0.055,X[96,53]=0.106,X[97,53]=0.180,X[98,53]=0.227,X[99,53]=0.255,X[100,53]=0.333 X[1,54]=0.071,X[2,54]=0.067,X[3,54]=0.067,X[4,54]=0.114,X[5,54]=0.200,X[6,54]=0.208,X[7,54]=0.208,X[8,54]=0.247,X[9,54]=0.204,X[10,54]=0.094,X[11,54]=0.047,X[12,54]=0.063,X[13,54]=0.184,X[14,54]=0.365,X[15,54]=0.282,X[16,54]=0.259,X[17,54]=0.290,X[18,54]=0.086,X[19,54]=0.063,X[20,54]=0.055,X[21,54]=0.051,X[22,54]=0.180,X[23,54]=0.373,X[24,54]=0.208,X[25,54]=0.114,X[26,54]=0.078,X[27,54]=0.082,X[28,54]=0.102,X[29,54]=0.149,X[30,54]=0.212,X[31,54]=0.204,X[32,54]=0.231,X[33,54]=0.247,X[34,54]=0.200,X[35,54]=0.157,X[36,54]=0.118,X[37,54]=0.067,X[38,54]=0.059,X[39,54]=0.071,X[40,54]=0.165,X[41,54]=0.357,X[42,54]=0.192,X[43,54]=0.035,X[44,54]=0.039,X[45,54]=0.039,X[46,54]=0.149,X[47,54]=0.337,X[48,54]=0.290,X[49,54]=0.306,X[50,54]=0.329 X[51,54]=0.294,X[52,54]=0.263,X[53,54]=0.176,X[54,54]=0.153,X[55,54]=0.141,X[56,54]=0.188,X[57,54]=0.388,X[58,54]=0.447,X[59,54]=0.129,X[60,54]=0.039,X[61,54]=0.055,X[62,54]=0.255,X[63,54]=0.353,X[64,54]=0.212,X[65,54]=0.227,X[66,54]=0.290,X[67,54]=0.259,X[68,54]=0.235,X[69,54]=0.337,X[70,54]=0.424,X[71,54]=0.333,X[72,54]=0.298,X[73,54]=0.200,X[74,54]=0.161,X[75,54]=0.224,X[76,54]=0.325,X[77,54]=0.341,X[78,54]=0.337,X[79,54]=0.345,X[80,54]=0.302,X[81,54]=0.227,X[82,54]=0.122,X[83,54]=0.118,X[84,54]=0.071,X[85,54]=0.059,X[86,54]=0.067,X[87,54]=0.078,X[88,54]=0.180,X[89,54]=0.192,X[90,54]=0.078,X[91,54]=0.063,X[92,54]=0.082,X[93,54]=0.075,X[94,54]=0.086,X[95,54]=0.137,X[96,54]=0.224,X[97,54]=0.314,X[98,54]=0.282,X[99,54]=0.286,X[100,54]=0.216 X[1,55]=0.188,X[2,55]=0.122,X[3,55]=0.145,X[4,55]=0.255,X[5,55]=0.243,X[6,55]=0.208,X[7,55]=0.247,X[8,55]=0.278,X[9,55]=0.294,X[10,55]=0.239,X[11,55]=0.129,X[12,55]=0.055,X[13,55]=0.141,X[14,55]=0.298,X[15,55]=0.271,X[16,55]=0.180,X[17,55]=0.231,X[18,55]=0.075,X[19,55]=0.035,X[20,55]=0.063,X[21,55]=0.047,X[22,55]=0.114,X[23,55]=0.165,X[24,55]=0.196,X[25,55]=0.145,X[26,55]=0.063,X[27,55]=0.125,X[28,55]=0.176,X[29,55]=0.243,X[30,55]=0.204,X[31,55]=0.224,X[32,55]=0.275,X[33,55]=0.306,X[34,55]=0.263,X[35,55]=0.204,X[36,55]=0.184,X[37,55]=0.149,X[38,55]=0.110,X[39,55]=0.051,X[40,55]=0.122,X[41,55]=0.298,X[42,55]=0.176,X[43,55]=0.047,X[44,55]=0.059,X[45,55]=0.102,X[46,55]=0.216,X[47,55]=0.345,X[48,55]=0.365,X[49,55]=0.298,X[50,55]=0.176 X[51,55]=0.278,X[52,55]=0.365,X[53,55]=0.341,X[54,55]=0.322,X[55,55]=0.271,X[56,55]=0.345,X[57,55]=0.435,X[58,55]=0.231,X[59,55]=0.047,X[60,55]=0.051,X[61,55]=0.082,X[62,55]=0.204,X[63,55]=0.369,X[64,55]=0.318,X[65,55]=0.310,X[66,55]=0.204,X[67,55]=0.102,X[68,55]=0.184,X[69,55]=0.306,X[70,55]=0.357,X[71,55]=0.439,X[72,55]=0.286,X[73,55]=0.243,X[74,55]=0.208,X[75,55]=0.173,X[76,55]=0.220,X[77,55]=0.329,X[78,55]=0.286,X[79,55]=0.106,X[80,55]=0.184,X[81,55]=0.200,X[82,55]=0.192,X[83,55]=0.231,X[84,55]=0.165,X[85,55]=0.086,X[86,55]=0.075,X[87,55]=0.071,X[88,55]=0.180,X[89,55]=0.180,X[90,55]=0.059,X[91,55]=0.071,X[92,55]=0.075,X[93,55]=0.114,X[94,55]=0.208,X[95,55]=0.298,X[96,55]=0.349,X[97,55]=0.302,X[98,55]=0.208,X[99,55]=0.318,X[100,55]=0.290 X[1,56]=0.282,X[2,56]=0.263,X[3,56]=0.271,X[4,56]=0.231,X[5,56]=0.118,X[6,56]=0.157,X[7,56]=0.271,X[8,56]=0.212,X[9,56]=0.125,X[10,56]=0.212,X[11,56]=0.263,X[12,56]=0.196,X[13,56]=0.094,X[14,56]=0.086,X[15,56]=0.102,X[16,56]=0.051,X[17,56]=0.059,X[18,56]=0.075,X[19,56]=0.063,X[20,56]=0.067,X[21,56]=0.063,X[22,56]=0.059,X[23,56]=0.114,X[24,56]=0.188,X[25,56]=0.157,X[26,56]=0.071,X[27,56]=0.176,X[28,56]=0.302,X[29,56]=0.255,X[30,56]=0.106,X[31,56]=0.235,X[32,56]=0.259,X[33,56]=0.149,X[34,56]=0.173,X[35,56]=0.243,X[36,56]=0.239,X[37,56]=0.212,X[38,56]=0.192,X[39,56]=0.118,X[40,56]=0.110,X[41,56]=0.200,X[42,56]=0.149,X[43,56]=0.086,X[44,56]=0.176,X[45,56]=0.251,X[46,56]=0.325,X[47,56]=0.298,X[48,56]=0.212,X[49,56]=0.098,X[50,56]=0.055 X[51,56]=0.118,X[52,56]=0.169,X[53,56]=0.192,X[54,56]=0.310,X[55,56]=0.384,X[56,56]=0.435,X[57,56]=0.329,X[58,56]=0.169,X[59,56]=0.125,X[60,56]=0.149,X[61,56]=0.212,X[62,56]=0.267,X[63,56]=0.329,X[64,56]=0.333,X[65,56]=0.133,X[66,56]=0.039,X[67,56]=0.039,X[68,56]=0.173,X[69,56]=0.271,X[70,56]=0.204,X[71,56]=0.349,X[72,56]=0.239,X[73,56]=0.231,X[74,56]=0.243,X[75,56]=0.220,X[76,56]=0.188,X[77,56]=0.165,X[78,56]=0.098,X[79,56]=0.114,X[80,56]=0.176,X[81,56]=0.243,X[82,56]=0.318,X[83,56]=0.278,X[84,56]=0.239,X[85,56]=0.173,X[86,56]=0.098,X[87,56]=0.075,X[88,56]=0.153,X[89,56]=0.165,X[90,56]=0.082,X[91,56]=0.129,X[92,56]=0.173,X[93,56]=0.247,X[94,56]=0.357,X[95,56]=0.337,X[96,56]=0.216,X[97,56]=0.082,X[98,56]=0.055,X[99,56]=0.094,X[100,56]=0.176 X[1,57]=0.149,X[2,57]=0.290,X[3,57]=0.325,X[4,57]=0.114,X[5,57]=0.051,X[6,57]=0.176,X[7,57]=0.282,X[8,57]=0.212,X[9,57]=0.059,X[10,57]=0.063,X[11,57]=0.196,X[12,57]=0.290,X[13,57]=0.133,X[14,57]=0.051,X[15,57]=0.035,X[16,57]=0.043,X[17,57]=0.059,X[18,57]=0.086,X[19,57]=0.133,X[20,57]=0.094,X[21,57]=0.067,X[22,57]=0.047,X[23,57]=0.102,X[24,57]=0.212,X[25,57]=0.169,X[26,57]=0.086,X[27,57]=0.235,X[28,57]=0.247,X[29,57]=0.122,X[30,57]=0.102,X[31,57]=0.271,X[32,57]=0.271,X[33,57]=0.133,X[34,57]=0.039,X[35,57]=0.102,X[36,57]=0.271,X[37,57]=0.239,X[38,57]=0.192,X[39,57]=0.200,X[40,57]=0.196,X[41,57]=0.204,X[42,57]=0.192,X[43,57]=0.212,X[44,57]=0.290,X[45,57]=0.341,X[46,57]=0.231,X[47,57]=0.098,X[48,57]=0.051,X[49,57]=0.071,X[50,57]=0.082 X[51,57]=0.071,X[52,57]=0.055,X[53,57]=0.071,X[54,57]=0.314,X[55,57]=0.463,X[56,57]=0.459,X[57,57]=0.349,X[58,57]=0.200,X[59,57]=0.204,X[60,57]=0.251,X[61,57]=0.306,X[62,57]=0.275,X[63,57]=0.243,X[64,57]=0.345,X[65,57]=0.259,X[66,57]=0.200,X[67,57]=0.133,X[68,57]=0.188,X[69,57]=0.227,X[70,57]=0.125,X[71,57]=0.067,X[72,57]=0.137,X[73,57]=0.255,X[74,57]=0.188,X[75,57]=0.157,X[76,57]=0.208,X[77,57]=0.188,X[78,57]=0.173,X[79,57]=0.216,X[80,57]=0.212,X[81,57]=0.192,X[82,57]=0.212,X[83,57]=0.169,X[84,57]=0.165,X[85,57]=0.204,X[86,57]=0.157,X[87,57]=0.149,X[88,57]=0.161,X[89,57]=0.169,X[90,57]=0.169,X[91,57]=0.224,X[92,57]=0.310,X[93,57]=0.365,X[94,57]=0.208,X[95,57]=0.078,X[96,57]=0.043,X[97,57]=0.071,X[98,57]=0.055,X[99,57]=0.059,X[100,57]=0.075 X[1,58]=0.153,X[2,58]=0.200,X[3,58]=0.118,X[4,58]=0.075,X[5,58]=0.055,X[6,58]=0.165,X[7,58]=0.318,X[8,58]=0.212,X[9,58]=0.075,X[10,58]=0.067,X[11,58]=0.063,X[12,58]=0.141,X[13,58]=0.125,X[14,58]=0.082,X[15,58]=0.118,X[16,58]=0.094,X[17,58]=0.059,X[18,58]=0.078,X[19,58]=0.169,X[20,58]=0.192,X[21,58]=0.118,X[22,58]=0.051,X[23,58]=0.106,X[24,58]=0.196,X[25,58]=0.169,X[26,58]=0.075,X[27,58]=0.137,X[28,58]=0.173,X[29,58]=0.200,X[30,58]=0.129,X[31,58]=0.263,X[32,58]=0.294,X[33,58]=0.118,X[34,58]=0.020,X[35,58]=0.051,X[36,58]=0.090,X[37,58]=0.125,X[38,58]=0.090,X[39,58]=0.169,X[40,58]=0.216,X[41,58]=0.220,X[42,58]=0.231,X[43,58]=0.243,X[44,58]=0.231,X[45,58]=0.137,X[46,58]=0.031,X[47,58]=0.043,X[48,58]=0.071,X[49,58]=0.051,X[50,58]=0.055 X[51,58]=0.071,X[52,58]=0.071,X[53,58]=0.243,X[54,58]=0.475,X[55,58]=0.427,X[56,58]=0.278,X[57,58]=0.404,X[58,58]=0.282,X[59,58]=0.247,X[60,58]=0.306,X[61,58]=0.243,X[62,58]=0.173,X[63,58]=0.314,X[64,58]=0.420,X[65,58]=0.416,X[66,58]=0.388,X[67,58]=0.400,X[68,58]=0.380,X[69,58]=0.298,X[70,58]=0.125,X[71,58]=0.063,X[72,58]=0.129,X[73,58]=0.235,X[74,58]=0.153,X[75,58]=0.051,X[76,58]=0.110,X[77,58]=0.173,X[78,58]=0.208,X[79,58]=0.251,X[80,58]=0.212,X[81,58]=0.118,X[82,58]=0.173,X[83,58]=0.125,X[84,58]=0.082,X[85,58]=0.169,X[86,58]=0.216,X[87,58]=0.286,X[88,58]=0.278,X[89,58]=0.212,X[90,58]=0.235,X[91,58]=0.275,X[92,58]=0.235,X[93,58]=0.125,X[94,58]=0.059,X[95,58]=0.051,X[96,58]=0.051,X[97,58]=0.075,X[98,58]=0.059,X[99,58]=0.047,X[100,58]=0.059 X[1,59]=0.165,X[2,59]=0.184,X[3,59]=0.098,X[4,59]=0.082,X[5,59]=0.059,X[6,59]=0.180,X[7,59]=0.357,X[8,59]=0.239,X[9,59]=0.082,X[10,59]=0.043,X[11,59]=0.055,X[12,59]=0.063,X[13,59]=0.063,X[14,59]=0.133,X[15,59]=0.282,X[16,59]=0.200,X[17,59]=0.059,X[18,59]=0.059,X[19,59]=0.129,X[20,59]=0.208,X[21,59]=0.196,X[22,59]=0.157,X[23,59]=0.157,X[24,59]=0.212,X[25,59]=0.180,X[26,59]=0.122,X[27,59]=0.212,X[28,59]=0.302,X[29,59]=0.192,X[30,59]=0.106,X[31,59]=0.286,X[32,59]=0.318,X[33,59]=0.114,X[34,59]=0.059,X[35,59]=0.071,X[36,59]=0.059,X[37,59]=0.063,X[38,59]=0.125,X[39,59]=0.208,X[40,59]=0.259,X[41,59]=0.259,X[42,59]=0.271,X[43,59]=0.247,X[44,59]=0.149,X[45,59]=0.063,X[46,59]=0.055,X[47,59]=0.078,X[48,59]=0.059,X[49,59]=0.071,X[50,59]=0.075 X[51,59]=0.047,X[52,59]=0.176,X[53,59]=0.439,X[54,59]=0.475,X[55,59]=0.247,X[56,59]=0.235,X[57,59]=0.416,X[58,59]=0.341,X[59,59]=0.227,X[60,59]=0.271,X[61,59]=0.212,X[62,59]=0.314,X[63,59]=0.435,X[64,59]=0.404,X[65,59]=0.431,X[66,59]=0.200,X[67,59]=0.165,X[68,59]=0.318,X[69,59]=0.337,X[70,59]=0.122,X[71,59]=0.043,X[72,59]=0.110,X[73,59]=0.227,X[74,59]=0.157,X[75,59]=0.067,X[76,59]=0.055,X[77,59]=0.118,X[78,59]=0.247,X[79,59]=0.322,X[80,59]=0.329,X[81,59]=0.235,X[82,59]=0.176,X[83,59]=0.145,X[84,59]=0.188,X[85,59]=0.239,X[86,59]=0.333,X[87,59]=0.353,X[88,59]=0.278,X[89,59]=0.243,X[90,59]=0.251,X[91,59]=0.204,X[92,59]=0.075,X[93,59]=0.020,X[94,59]=0.059,X[95,59]=0.059,X[96,59]=0.059,X[97,59]=0.039,X[98,59]=0.067,X[99,59]=0.078,X[100,59]=0.075 X[1,60]=0.169,X[2,60]=0.204,X[3,60]=0.106,X[4,60]=0.039,X[5,60]=0.047,X[6,60]=0.188,X[7,60]=0.349,X[8,60]=0.263,X[9,60]=0.071,X[10,60]=0.071,X[11,60]=0.059,X[12,60]=0.055,X[13,60]=0.047,X[14,60]=0.122,X[15,60]=0.294,X[16,60]=0.310,X[17,60]=0.094,X[18,60]=0.059,X[19,60]=0.200,X[20,60]=0.298,X[21,60]=0.169,X[22,60]=0.184,X[23,60]=0.235,X[24,60]=0.243,X[25,60]=0.235,X[26,60]=0.275,X[27,60]=0.314,X[28,60]=0.224,X[29,60]=0.071,X[30,60]=0.094,X[31,60]=0.290,X[32,60]=0.345,X[33,60]=0.180,X[34,60]=0.075,X[35,60]=0.063,X[36,60]=0.125,X[37,60]=0.176,X[38,60]=0.231,X[39,60]=0.275,X[40,60]=0.275,X[41,60]=0.302,X[42,60]=0.337,X[43,60]=0.278,X[44,60]=0.286,X[45,60]=0.208,X[46,60]=0.110,X[47,60]=0.051,X[48,60]=0.051,X[49,60]=0.067,X[50,60]=0.075 X[51,60]=0.047,X[52,60]=0.114,X[53,60]=0.322,X[54,60]=0.286,X[55,60]=0.192,X[56,60]=0.243,X[57,60]=0.392,X[58,60]=0.361,X[59,60]=0.196,X[60,60]=0.243,X[61,60]=0.259,X[62,60]=0.439,X[63,60]=0.400,X[64,60]=0.302,X[65,60]=0.451,X[66,60]=0.267,X[67,60]=0.027,X[68,60]=0.141,X[69,60]=0.224,X[70,60]=0.114,X[71,60]=0.047,X[72,60]=0.114,X[73,60]=0.216,X[74,60]=0.180,X[75,60]=0.082,X[76,60]=0.055,X[77,60]=0.141,X[78,60]=0.267,X[79,60]=0.204,X[80,60]=0.251,X[81,60]=0.298,X[82,60]=0.282,X[83,60]=0.216,X[84,60]=0.192,X[85,60]=0.298,X[86,60]=0.329,X[87,60]=0.275,X[88,60]=0.275,X[89,60]=0.325,X[90,60]=0.306,X[91,60]=0.259,X[92,60]=0.161,X[93,60]=0.071,X[94,60]=0.059,X[95,60]=0.067,X[96,60]=0.071,X[97,60]=0.063,X[98,60]=0.051,X[99,60]=0.067,X[100,60]=0.063 X[1,61]=0.153,X[2,61]=0.173,X[3,61]=0.141,X[4,61]=0.067,X[5,61]=0.055,X[6,61]=0.173,X[7,61]=0.259,X[8,61]=0.161,X[9,61]=0.059,X[10,61]=0.090,X[11,61]=0.071,X[12,61]=0.071,X[13,61]=0.039,X[14,61]=0.098,X[15,61]=0.251,X[16,61]=0.361,X[17,61]=0.184,X[18,61]=0.125,X[19,61]=0.376,X[20,61]=0.290,X[21,61]=0.047,X[22,61]=0.071,X[23,61]=0.231,X[24,61]=0.294,X[25,61]=0.306,X[26,61]=0.239,X[27,61]=0.188,X[28,61]=0.239,X[29,61]=0.173,X[30,61]=0.106,X[31,61]=0.129,X[32,61]=0.204,X[33,61]=0.212,X[34,61]=0.129,X[35,61]=0.161,X[36,61]=0.243,X[37,61]=0.310,X[38,61]=0.282,X[39,61]=0.192,X[40,61]=0.122,X[41,61]=0.282,X[42,61]=0.263,X[43,61]=0.137,X[44,61]=0.263,X[45,61]=0.282,X[46,61]=0.227,X[47,61]=0.149,X[48,61]=0.086,X[49,61]=0.075,X[50,61]=0.067 X[51,61]=0.071,X[52,61]=0.059,X[53,61]=0.102,X[54,61]=0.169,X[55,61]=0.200,X[56,61]=0.196,X[57,61]=0.180,X[58,61]=0.129,X[59,61]=0.173,X[60,61]=0.251,X[61,61]=0.325,X[62,61]=0.482,X[63,61]=0.369,X[64,61]=0.333,X[65,61]=0.420,X[66,61]=0.416,X[67,61]=0.176,X[68,61]=0.169,X[69,61]=0.212,X[70,61]=0.118,X[71,61]=0.067,X[72,61]=0.110,X[73,61]=0.204,X[74,61]=0.196,X[75,61]=0.176,X[76,61]=0.110,X[77,61]=0.149,X[78,61]=0.259,X[79,61]=0.137,X[80,61]=0.149,X[81,61]=0.267,X[82,61]=0.345,X[83,61]=0.365,X[84,61]=0.275,X[85,61]=0.259,X[86,61]=0.263,X[87,61]=0.188,X[88,61]=0.267,X[89,61]=0.337,X[90,61]=0.231,X[91,61]=0.290,X[92,61]=0.306,X[93,61]=0.212,X[94,61]=0.125,X[95,61]=0.055,X[96,61]=0.102,X[97,61]=0.169,X[98,61]=0.122,X[99,61]=0.059,X[100,61]=0.051 X[1,62]=0.180,X[2,62]=0.235,X[3,62]=0.247,X[4,62]=0.165,X[5,62]=0.173,X[6,62]=0.263,X[7,62]=0.231,X[8,62]=0.094,X[9,62]=0.110,X[10,62]=0.137,X[11,62]=0.090,X[12,62]=0.137,X[13,62]=0.196,X[14,62]=0.184,X[15,62]=0.220,X[16,62]=0.337,X[17,62]=0.306,X[18,62]=0.322,X[19,62]=0.384,X[20,62]=0.098,X[21,62]=0.027,X[22,62]=0.055,X[23,62]=0.145,X[24,62]=0.322,X[25,62]=0.235,X[26,62]=0.090,X[27,62]=0.239,X[28,62]=0.408,X[29,62]=0.298,X[30,62]=0.157,X[31,62]=0.106,X[32,62]=0.149,X[33,62]=0.204,X[34,62]=0.216,X[35,62]=0.294,X[36,62]=0.353,X[37,62]=0.267,X[38,62]=0.129,X[39,62]=0.051,X[40,62]=0.086,X[41,62]=0.278,X[42,62]=0.212,X[43,62]=0.078,X[44,62]=0.192,X[45,62]=0.216,X[46,62]=0.239,X[47,62]=0.239,X[48,62]=0.188,X[49,62]=0.129,X[50,62]=0.071 X[51,62]=0.075,X[52,62]=0.125,X[53,62]=0.173,X[54,62]=0.267,X[55,62]=0.314,X[56,62]=0.196,X[57,62]=0.063,X[58,62]=0.071,X[59,62]=0.231,X[60,62]=0.286,X[61,62]=0.341,X[62,62]=0.392,X[63,62]=0.220,X[64,62]=0.118,X[65,62]=0.290,X[66,62]=0.486,X[67,62]=0.306,X[68,62]=0.169,X[69,62]=0.196,X[70,62]=0.114,X[71,62]=0.047,X[72,62]=0.094,X[73,62]=0.188,X[74,62]=0.173,X[75,62]=0.176,X[76,62]=0.196,X[77,62]=0.176,X[78,62]=0.239,X[79,62]=0.231,X[80,62]=0.286,X[81,62]=0.349,X[82,62]=0.298,X[83,62]=0.322,X[84,62]=0.357,X[85,62]=0.263,X[86,62]=0.176,X[87,62]=0.110,X[88,62]=0.224,X[89,62]=0.282,X[90,62]=0.188,X[91,62]=0.208,X[92,62]=0.208,X[93,62]=0.251,X[94,62]=0.227,X[95,62]=0.157,X[96,62]=0.133,X[97,62]=0.184,X[98,62]=0.188,X[99,62]=0.114,X[100,62]=0.110 X[1,63]=0.314,X[2,63]=0.294,X[3,63]=0.224,X[4,63]=0.259,X[5,63]=0.306,X[6,63]=0.239,X[7,63]=0.106,X[8,63]=0.086,X[9,63]=0.161,X[10,63]=0.173,X[11,63]=0.133,X[12,63]=0.204,X[13,63]=0.341,X[14,63]=0.373,X[15,63]=0.353,X[16,63]=0.400,X[17,63]=0.443,X[18,63]=0.408,X[19,63]=0.188,X[20,63]=0.051,X[21,63]=0.063,X[22,63]=0.039,X[23,63]=0.137,X[24,63]=0.310,X[25,63]=0.235,X[26,63]=0.212,X[27,63]=0.404,X[28,63]=0.388,X[29,63]=0.165,X[30,63]=0.173,X[31,63]=0.188,X[32,63]=0.173,X[33,63]=0.208,X[34,63]=0.298,X[35,63]=0.278,X[36,63]=0.169,X[37,63]=0.141,X[38,63]=0.165,X[39,63]=0.133,X[40,63]=0.149,X[41,63]=0.239,X[42,63]=0.176,X[43,63]=0.098,X[44,63]=0.208,X[45,63]=0.184,X[46,63]=0.114,X[47,63]=0.153,X[48,63]=0.216,X[49,63]=0.196,X[50,63]=0.161 X[51,63]=0.173,X[52,63]=0.216,X[53,63]=0.235,X[54,63]=0.224,X[55,63]=0.141,X[56,63]=0.067,X[57,63]=0.047,X[58,63]=0.149,X[59,63]=0.329,X[60,63]=0.365,X[61,63]=0.216,X[62,63]=0.110,X[63,63]=0.059,X[64,63]=0.031,X[65,63]=0.110,X[66,63]=0.247,X[67,63]=0.224,X[68,63]=0.188,X[69,63]=0.212,X[70,63]=0.192,X[71,63]=0.114,X[72,63]=0.122,X[73,63]=0.196,X[74,63]=0.137,X[75,63]=0.094,X[76,63]=0.176,X[77,63]=0.192,X[78,63]=0.267,X[79,63]=0.322,X[80,63]=0.325,X[81,63]=0.314,X[82,63]=0.318,X[83,63]=0.220,X[84,63]=0.161,X[85,63]=0.227,X[86,63]=0.282,X[87,63]=0.247,X[88,63]=0.235,X[89,63]=0.235,X[90,63]=0.188,X[91,63]=0.204,X[92,63]=0.145,X[93,63]=0.153,X[94,63]=0.224,X[95,63]=0.224,X[96,63]=0.184,X[97,63]=0.161,X[98,63]=0.169,X[99,63]=0.192,X[100,63]=0.235 X[1,64]=0.231,X[2,64]=0.247,X[3,64]=0.286,X[4,64]=0.298,X[5,64]=0.184,X[6,64]=0.063,X[7,64]=0.067,X[8,64]=0.078,X[9,64]=0.114,X[10,64]=0.165,X[11,64]=0.161,X[12,64]=0.180,X[13,64]=0.188,X[14,64]=0.216,X[15,64]=0.329,X[16,64]=0.349,X[17,64]=0.443,X[18,64]=0.329,X[19,64]=0.063,X[20,64]=0.059,X[21,64]=0.059,X[22,64]=0.055,X[23,64]=0.129,X[24,64]=0.255,X[25,64]=0.329,X[26,64]=0.404,X[27,64]=0.412,X[28,64]=0.169,X[29,64]=0.094,X[30,64]=0.216,X[31,64]=0.220,X[32,64]=0.184,X[33,64]=0.200,X[34,64]=0.188,X[35,64]=0.145,X[36,64]=0.192,X[37,64]=0.271,X[38,64]=0.298,X[39,64]=0.212,X[40,64]=0.192,X[41,64]=0.224,X[42,64]=0.173,X[43,64]=0.110,X[44,64]=0.192,X[45,64]=0.180,X[46,64]=0.047,X[47,64]=0.071,X[48,64]=0.196,X[49,64]=0.220,X[50,64]=0.188 X[51,64]=0.227,X[52,64]=0.227,X[53,64]=0.145,X[54,64]=0.051,X[55,64]=0.035,X[56,64]=0.071,X[57,64]=0.051,X[58,64]=0.110,X[59,64]=0.227,X[60,64]=0.220,X[61,64]=0.051,X[62,64]=0.055,X[63,64]=0.059,X[64,64]=0.067,X[65,64]=0.110,X[66,64]=0.192,X[67,64]=0.227,X[68,64]=0.216,X[69,64]=0.231,X[70,64]=0.294,X[71,64]=0.255,X[72,64]=0.173,X[73,64]=0.188,X[74,64]=0.169,X[75,64]=0.173,X[76,64]=0.239,X[77,64]=0.271,X[78,64]=0.271,X[79,64]=0.294,X[80,64]=0.278,X[81,64]=0.290,X[82,64]=0.176,X[83,64]=0.067,X[84,64]=0.047,X[85,64]=0.102,X[86,64]=0.165,X[87,64]=0.290,X[88,64]=0.318,X[89,64]=0.212,X[90,64]=0.200,X[91,64]=0.220,X[92,64]=0.188,X[93,64]=0.216,X[94,64]=0.286,X[95,64]=0.208,X[96,64]=0.196,X[97,64]=0.192,X[98,64]=0.192,X[99,64]=0.235,X[100,64]=0.239 X[1,65]=0.165,X[2,65]=0.235,X[3,65]=0.216,X[4,65]=0.114,X[5,65]=0.071,X[6,65]=0.055,X[7,65]=0.075,X[8,65]=0.059,X[9,65]=0.102,X[10,65]=0.235,X[11,65]=0.220,X[12,65]=0.200,X[13,65]=0.212,X[14,65]=0.208,X[15,65]=0.212,X[16,65]=0.137,X[17,65]=0.290,X[18,65]=0.384,X[19,65]=0.118,X[20,65]=0.039,X[21,65]=0.051,X[22,65]=0.059,X[23,65]=0.106,X[24,65]=0.224,X[25,65]=0.384,X[26,65]=0.475,X[27,65]=0.333,X[28,65]=0.208,X[29,65]=0.243,X[30,65]=0.290,X[31,65]=0.255,X[32,65]=0.176,X[33,65]=0.192,X[34,65]=0.192,X[35,65]=0.224,X[36,65]=0.325,X[37,65]=0.337,X[38,65]=0.212,X[39,65]=0.106,X[40,65]=0.157,X[41,65]=0.220,X[42,65]=0.184,X[43,65]=0.145,X[44,65]=0.216,X[45,65]=0.192,X[46,65]=0.145,X[47,65]=0.224,X[48,65]=0.310,X[49,65]=0.208,X[50,65]=0.184 X[51,65]=0.306,X[52,65]=0.310,X[53,65]=0.247,X[54,65]=0.137,X[55,65]=0.075,X[56,65]=0.067,X[57,65]=0.055,X[58,65]=0.067,X[59,65]=0.059,X[60,65]=0.078,X[61,65]=0.082,X[62,65]=0.071,X[63,65]=0.098,X[64,65]=0.169,X[65,65]=0.286,X[66,65]=0.302,X[67,65]=0.165,X[68,65]=0.196,X[69,65]=0.275,X[70,65]=0.255,X[71,65]=0.239,X[72,65]=0.271,X[73,65]=0.212,X[74,65]=0.184,X[75,65]=0.239,X[76,65]=0.322,X[77,65]=0.278,X[78,65]=0.290,X[79,65]=0.278,X[80,65]=0.255,X[81,65]=0.176,X[82,65]=0.149,X[83,65]=0.106,X[84,65]=0.075,X[85,65]=0.043,X[86,65]=0.051,X[87,65]=0.122,X[88,65]=0.216,X[89,65]=0.212,X[90,65]=0.216,X[91,65]=0.247,X[92,65]=0.278,X[93,65]=0.325,X[94,65]=0.216,X[95,65]=0.110,X[96,65]=0.094,X[97,65]=0.161,X[98,65]=0.239,X[99,65]=0.275,X[100,65]=0.216 X[1,66]=0.255,X[2,66]=0.200,X[3,66]=0.110,X[4,66]=0.047,X[5,66]=0.071,X[6,66]=0.071,X[7,66]=0.055,X[8,66]=0.047,X[9,66]=0.071,X[10,66]=0.235,X[11,66]=0.290,X[12,66]=0.149,X[13,66]=0.176,X[14,66]=0.278,X[15,66]=0.235,X[16,66]=0.133,X[17,66]=0.192,X[18,66]=0.373,X[19,66]=0.208,X[20,66]=0.055,X[21,66]=0.051,X[22,66]=0.055,X[23,66]=0.137,X[24,66]=0.345,X[25,66]=0.467,X[26,66]=0.431,X[27,66]=0.439,X[28,66]=0.455,X[29,66]=0.459,X[30,66]=0.310,X[31,66]=0.165,X[32,66]=0.184,X[33,66]=0.224,X[34,66]=0.255,X[35,66]=0.329,X[36,66]=0.302,X[37,66]=0.133,X[38,66]=0.067,X[39,66]=0.043,X[40,66]=0.086,X[41,66]=0.204,X[42,66]=0.212,X[43,66]=0.220,X[44,66]=0.239,X[45,66]=0.239,X[46,66]=0.286,X[47,66]=0.306,X[48,66]=0.184,X[49,66]=0.086,X[50,66]=0.224 X[51,66]=0.290,X[52,66]=0.298,X[53,66]=0.302,X[54,66]=0.294,X[55,66]=0.204,X[56,66]=0.125,X[57,66]=0.075,X[58,66]=0.063,X[59,66]=0.157,X[60,66]=0.192,X[61,66]=0.075,X[62,66]=0.059,X[63,66]=0.122,X[64,66]=0.259,X[65,66]=0.278,X[66,66]=0.122,X[67,66]=0.055,X[68,66]=0.196,X[69,66]=0.286,X[70,66]=0.196,X[71,66]=0.176,X[72,66]=0.247,X[73,66]=0.282,X[74,66]=0.247,X[75,66]=0.227,X[76,66]=0.251,X[77,66]=0.267,X[78,66]=0.290,X[79,66]=0.333,X[80,66]=0.220,X[81,66]=0.165,X[82,66]=0.294,X[83,66]=0.310,X[84,66]=0.137,X[85,66]=0.067,X[86,66]=0.129,X[87,66]=0.188,X[88,66]=0.188,X[89,66]=0.208,X[90,66]=0.196,X[91,66]=0.259,X[92,66]=0.278,X[93,66]=0.220,X[94,66]=0.098,X[95,66]=0.051,X[96,66]=0.051,X[97,66]=0.173,X[98,66]=0.298,X[99,66]=0.353,X[100,66]=0.306 X[1,67]=0.306,X[2,67]=0.318,X[3,67]=0.239,X[4,67]=0.145,X[5,67]=0.114,X[6,67]=0.086,X[7,67]=0.063,X[8,67]=0.075,X[9,67]=0.043,X[10,67]=0.129,X[11,67]=0.322,X[12,67]=0.216,X[13,67]=0.196,X[14,67]=0.208,X[15,67]=0.196,X[16,67]=0.216,X[17,67]=0.208,X[18,67]=0.325,X[19,67]=0.302,X[20,67]=0.075,X[21,67]=0.075,X[22,67]=0.071,X[23,67]=0.294,X[24,67]=0.498,X[25,67]=0.392,X[26,67]=0.102,X[27,67]=0.224,X[28,67]=0.353,X[29,67]=0.353,X[30,67]=0.184,X[31,67]=0.212,X[32,67]=0.282,X[33,67]=0.286,X[34,67]=0.286,X[35,67]=0.251,X[36,67]=0.114,X[37,67]=0.039,X[38,67]=0.055,X[39,67]=0.067,X[40,67]=0.102,X[41,67]=0.208,X[42,67]=0.184,X[43,67]=0.161,X[44,67]=0.235,X[45,67]=0.302,X[46,67]=0.243,X[47,67]=0.122,X[48,67]=0.031,X[49,67]=0.075,X[50,67]=0.243 X[51,67]=0.200,X[52,67]=0.071,X[53,67]=0.196,X[54,67]=0.314,X[55,67]=0.357,X[56,67]=0.286,X[57,67]=0.141,X[58,67]=0.078,X[59,67]=0.212,X[60,67]=0.318,X[61,67]=0.149,X[62,67]=0.051,X[63,67]=0.118,X[64,67]=0.271,X[65,67]=0.129,X[66,67]=0.051,X[67,67]=0.039,X[68,67]=0.200,X[69,67]=0.286,X[70,67]=0.243,X[71,67]=0.243,X[72,67]=0.278,X[73,67]=0.306,X[74,67]=0.345,X[75,67]=0.267,X[76,67]=0.231,X[77,67]=0.176,X[78,67]=0.180,X[79,67]=0.353,X[80,67]=0.227,X[81,67]=0.196,X[82,67]=0.396,X[83,67]=0.349,X[84,67]=0.180,X[85,67]=0.094,X[86,67]=0.184,X[87,67]=0.275,X[88,67]=0.200,X[89,67]=0.204,X[90,67]=0.216,X[91,67]=0.275,X[92,67]=0.224,X[93,67]=0.176,X[94,67]=0.078,X[95,67]=0.039,X[96,67]=0.063,X[97,67]=0.212,X[98,67]=0.263,X[99,67]=0.180,X[100,67]=0.239 X[1,68]=0.204,X[2,68]=0.298,X[3,68]=0.408,X[4,68]=0.247,X[5,68]=0.204,X[6,68]=0.200,X[7,68]=0.220,X[8,68]=0.224,X[9,68]=0.161,X[10,68]=0.176,X[11,68]=0.290,X[12,68]=0.310,X[13,68]=0.196,X[14,68]=0.216,X[15,68]=0.302,X[16,68]=0.357,X[17,68]=0.243,X[18,68]=0.290,X[19,68]=0.361,X[20,68]=0.165,X[21,68]=0.059,X[22,68]=0.220,X[23,68]=0.443,X[24,68]=0.420,X[25,68]=0.192,X[26,68]=0.059,X[27,68]=0.133,X[28,68]=0.173,X[29,68]=0.173,X[30,68]=0.282,X[31,68]=0.357,X[32,68]=0.365,X[33,68]=0.243,X[34,68]=0.271,X[35,68]=0.286,X[36,68]=0.192,X[37,68]=0.122,X[38,68]=0.071,X[39,68]=0.063,X[40,68]=0.110,X[41,68]=0.200,X[42,68]=0.145,X[43,68]=0.094,X[44,68]=0.243,X[45,68]=0.243,X[46,68]=0.082,X[47,68]=0.051,X[48,68]=0.082,X[49,68]=0.086,X[50,68]=0.208 X[51,68]=0.200,X[52,68]=0.071,X[53,68]=0.153,X[54,68]=0.200,X[55,68]=0.227,X[56,68]=0.310,X[57,68]=0.122,X[58,68]=0.110,X[59,68]=0.173,X[60,68]=0.329,X[61,68]=0.259,X[62,68]=0.055,X[63,68]=0.157,X[64,68]=0.392,X[65,68]=0.196,X[66,68]=0.055,X[67,68]=0.125,X[68,68]=0.251,X[69,68]=0.310,X[70,68]=0.294,X[71,68]=0.247,X[72,68]=0.196,X[73,68]=0.286,X[74,68]=0.322,X[75,68]=0.267,X[76,68]=0.329,X[77,68]=0.263,X[78,68]=0.200,X[79,68]=0.337,X[80,68]=0.333,X[81,68]=0.349,X[82,68]=0.380,X[83,68]=0.204,X[84,68]=0.188,X[85,68]=0.090,X[86,68]=0.133,X[87,68]=0.298,X[88,68]=0.208,X[89,68]=0.200,X[90,68]=0.298,X[91,68]=0.408,X[92,68]=0.325,X[93,68]=0.184,X[94,68]=0.098,X[95,68]=0.071,X[96,68]=0.075,X[97,68]=0.188,X[98,68]=0.239,X[99,68]=0.129,X[100,68]=0.188 X[1,69]=0.169,X[2,69]=0.192,X[3,69]=0.275,X[4,69]=0.302,X[5,69]=0.349,X[6,69]=0.235,X[7,69]=0.294,X[8,69]=0.384,X[9,69]=0.384,X[10,69]=0.376,X[11,69]=0.369,X[12,69]=0.361,X[13,69]=0.278,X[14,69]=0.286,X[15,69]=0.310,X[16,69]=0.180,X[17,69]=0.110,X[18,69]=0.173,X[19,69]=0.302,X[20,69]=0.275,X[21,69]=0.216,X[22,69]=0.380,X[23,69]=0.384,X[24,69]=0.231,X[25,69]=0.137,X[26,69]=0.075,X[27,69]=0.141,X[28,69]=0.192,X[29,69]=0.282,X[30,69]=0.345,X[31,69]=0.314,X[32,69]=0.384,X[33,69]=0.180,X[34,69]=0.098,X[35,69]=0.216,X[36,69]=0.286,X[37,69]=0.290,X[38,69]=0.235,X[39,69]=0.141,X[40,69]=0.149,X[41,69]=0.200,X[42,69]=0.188,X[43,69]=0.137,X[44,69]=0.227,X[45,69]=0.212,X[46,69]=0.071,X[47,69]=0.063,X[48,69]=0.067,X[49,69]=0.075,X[50,69]=0.208 X[51,69]=0.263,X[52,69]=0.106,X[53,69]=0.157,X[54,69]=0.165,X[55,69]=0.055,X[56,69]=0.118,X[57,69]=0.145,X[58,69]=0.173,X[59,69]=0.184,X[60,69]=0.278,X[61,69]=0.337,X[62,69]=0.196,X[63,69]=0.337,X[64,69]=0.365,X[65,69]=0.145,X[66,69]=0.149,X[67,69]=0.239,X[68,69]=0.306,X[69,69]=0.337,X[70,69]=0.243,X[71,69]=0.106,X[72,69]=0.255,X[73,69]=0.345,X[74,69]=0.212,X[75,69]=0.153,X[76,69]=0.306,X[77,69]=0.369,X[78,69]=0.361,X[79,69]=0.404,X[80,69]=0.447,X[81,69]=0.412,X[82,69]=0.231,X[83,69]=0.173,X[84,69]=0.188,X[85,69]=0.141,X[86,69]=0.200,X[87,69]=0.306,X[88,69]=0.271,X[89,69]=0.290,X[90,69]=0.412,X[91,69]=0.400,X[92,69]=0.267,X[93,69]=0.216,X[94,69]=0.106,X[95,69]=0.055,X[96,69]=0.055,X[97,69]=0.165,X[98,69]=0.247,X[99,69]=0.153,X[100,69]=0.188 X[1,70]=0.216,X[2,70]=0.243,X[3,70]=0.298,X[4,70]=0.318,X[5,70]=0.196,X[6,70]=0.055,X[7,70]=0.067,X[8,70]=0.180,X[9,70]=0.290,X[10,70]=0.357,X[11,70]=0.412,X[12,70]=0.494,X[13,70]=0.459,X[14,70]=0.416,X[15,70]=0.376,X[16,70]=0.314,X[17,70]=0.243,X[18,70]=0.176,X[19,70]=0.259,X[20,70]=0.353,X[21,70]=0.384,X[22,70]=0.384,X[23,70]=0.220,X[24,70]=0.180,X[25,70]=0.176,X[26,70]=0.173,X[27,70]=0.243,X[28,70]=0.318,X[29,70]=0.325,X[30,70]=0.353,X[31,70]=0.369,X[32,70]=0.357,X[33,70]=0.220,X[34,70]=0.122,X[35,70]=0.184,X[36,70]=0.165,X[37,70]=0.216,X[38,70]=0.329,X[39,70]=0.251,X[40,70]=0.216,X[41,70]=0.208,X[42,70]=0.247,X[43,70]=0.259,X[44,70]=0.208,X[45,70]=0.169,X[46,70]=0.078,X[47,70]=0.067,X[48,70]=0.043,X[49,70]=0.055,X[50,70]=0.196 X[51,70]=0.345,X[52,70]=0.125,X[53,70]=0.145,X[54,70]=0.157,X[55,70]=0.094,X[56,70]=0.176,X[57,70]=0.310,X[58,70]=0.353,X[59,70]=0.322,X[60,70]=0.306,X[61,70]=0.396,X[62,70]=0.388,X[63,70]=0.404,X[64,70]=0.224,X[65,70]=0.196,X[66,70]=0.286,X[67,70]=0.306,X[68,70]=0.259,X[69,70]=0.318,X[70,70]=0.184,X[71,70]=0.212,X[72,70]=0.408,X[73,70]=0.412,X[74,70]=0.188,X[75,70]=0.043,X[76,70]=0.063,X[77,70]=0.129,X[78,70]=0.263,X[79,70]=0.361,X[80,70]=0.435,X[81,70]=0.349,X[82,70]=0.157,X[83,70]=0.157,X[84,70]=0.188,X[85,70]=0.243,X[86,70]=0.322,X[87,70]=0.314,X[88,70]=0.341,X[89,70]=0.416,X[90,70]=0.420,X[91,70]=0.239,X[92,70]=0.263,X[93,70]=0.310,X[94,70]=0.212,X[95,70]=0.114,X[96,70]=0.078,X[97,70]=0.165,X[98,70]=0.329,X[99,70]=0.188,X[100,70]=0.188 X[1,71]=0.255,X[2,71]=0.310,X[3,71]=0.275,X[4,71]=0.102,X[5,71]=0.055,X[6,71]=0.051,X[7,71]=0.078,X[8,71]=0.157,X[9,71]=0.231,X[10,71]=0.314,X[11,71]=0.439,X[12,71]=0.475,X[13,71]=0.396,X[14,71]=0.322,X[15,71]=0.333,X[16,71]=0.357,X[17,71]=0.376,X[18,71]=0.361,X[19,71]=0.380,X[20,71]=0.427,X[21,71]=0.427,X[22,71]=0.353,X[23,71]=0.278,X[24,71]=0.235,X[25,71]=0.239,X[26,71]=0.243,X[27,71]=0.298,X[28,71]=0.216,X[29,71]=0.255,X[30,71]=0.353,X[31,71]=0.180,X[32,71]=0.180,X[33,71]=0.212,X[34,71]=0.235,X[35,71]=0.224,X[36,71]=0.137,X[37,71]=0.161,X[38,71]=0.302,X[39,71]=0.247,X[40,71]=0.176,X[41,71]=0.235,X[42,71]=0.267,X[43,71]=0.263,X[44,71]=0.267,X[45,71]=0.208,X[46,71]=0.122,X[47,71]=0.071,X[48,71]=0.051,X[49,71]=0.067,X[50,71]=0.102 X[51,71]=0.180,X[52,71]=0.106,X[53,71]=0.149,X[54,71]=0.192,X[55,71]=0.216,X[56,71]=0.251,X[57,71]=0.341,X[58,71]=0.345,X[59,71]=0.341,X[60,71]=0.384,X[61,71]=0.439,X[62,71]=0.451,X[63,71]=0.302,X[64,71]=0.224,X[65,71]=0.302,X[66,71]=0.286,X[67,71]=0.141,X[68,71]=0.129,X[69,71]=0.278,X[70,71]=0.267,X[71,71]=0.392,X[72,71]=0.416,X[73,71]=0.306,X[74,71]=0.165,X[75,71]=0.055,X[76,71]=0.039,X[77,71]=0.039,X[78,71]=0.078,X[79,71]=0.188,X[80,71]=0.341,X[81,71]=0.400,X[82,71]=0.208,X[83,71]=0.200,X[84,71]=0.224,X[85,71]=0.235,X[86,71]=0.267,X[87,71]=0.267,X[88,71]=0.384,X[89,71]=0.482,X[90,71]=0.412,X[91,71]=0.306,X[92,71]=0.271,X[93,71]=0.306,X[94,71]=0.290,X[95,71]=0.224,X[96,71]=0.145,X[97,71]=0.141,X[98,71]=0.298,X[99,71]=0.239,X[100,71]=0.224 X[1,72]=0.271,X[2,72]=0.306,X[3,72]=0.196,X[4,72]=0.133,X[5,72]=0.137,X[6,72]=0.216,X[7,72]=0.298,X[8,72]=0.271,X[9,72]=0.373,X[10,72]=0.404,X[11,72]=0.224,X[12,72]=0.161,X[13,72]=0.176,X[14,72]=0.180,X[15,72]=0.235,X[16,72]=0.267,X[17,72]=0.235,X[18,72]=0.286,X[19,72]=0.435,X[20,72]=0.427,X[21,72]=0.463,X[22,72]=0.369,X[23,72]=0.345,X[24,72]=0.349,X[25,72]=0.376,X[26,72]=0.384,X[27,72]=0.365,X[28,72]=0.302,X[29,72]=0.369,X[30,72]=0.306,X[31,72]=0.184,X[32,72]=0.180,X[33,72]=0.251,X[34,72]=0.329,X[35,72]=0.302,X[36,72]=0.255,X[37,72]=0.278,X[38,72]=0.216,X[39,72]=0.086,X[40,72]=0.106,X[41,72]=0.271,X[42,72]=0.235,X[43,72]=0.125,X[44,72]=0.212,X[45,72]=0.231,X[46,72]=0.239,X[47,72]=0.161,X[48,72]=0.059,X[49,72]=0.075,X[50,72]=0.082 X[51,72]=0.122,X[52,72]=0.196,X[53,72]=0.278,X[54,72]=0.286,X[55,72]=0.275,X[56,72]=0.196,X[57,72]=0.169,X[58,72]=0.114,X[59,72]=0.161,X[60,72]=0.247,X[61,72]=0.310,X[62,72]=0.396,X[63,72]=0.318,X[64,72]=0.267,X[65,72]=0.208,X[66,72]=0.086,X[67,72]=0.051,X[68,72]=0.110,X[69,72]=0.325,X[70,72]=0.467,X[71,72]=0.490,X[72,72]=0.376,X[73,72]=0.349,X[74,72]=0.333,X[75,72]=0.188,X[76,72]=0.118,X[77,72]=0.169,X[78,72]=0.255,X[79,72]=0.286,X[80,72]=0.255,X[81,72]=0.322,X[82,72]=0.306,X[83,72]=0.306,X[84,72]=0.318,X[85,72]=0.267,X[86,72]=0.322,X[87,72]=0.427,X[88,72]=0.451,X[89,72]=0.373,X[90,72]=0.290,X[91,72]=0.275,X[92,72]=0.290,X[93,72]=0.353,X[94,72]=0.247,X[95,72]=0.169,X[96,72]=0.212,X[97,72]=0.255,X[98,72]=0.302,X[99,72]=0.286,X[100,72]=0.192 X[1,73]=0.196,X[2,73]=0.224,X[3,73]=0.271,X[4,73]=0.298,X[5,73]=0.282,X[6,73]=0.275,X[7,73]=0.212,X[8,73]=0.118,X[9,73]=0.227,X[10,73]=0.259,X[11,73]=0.114,X[12,73]=0.063,X[13,73]=0.051,X[14,73]=0.082,X[15,73]=0.153,X[16,73]=0.263,X[17,73]=0.255,X[18,73]=0.392,X[19,73]=0.471,X[20,73]=0.318,X[21,73]=0.416,X[22,73]=0.357,X[23,73]=0.212,X[24,73]=0.294,X[25,73]=0.345,X[26,73]=0.267,X[27,73]=0.373,X[28,73]=0.400,X[29,73]=0.443,X[30,73]=0.467,X[31,73]=0.482,X[32,73]=0.447,X[33,73]=0.388,X[34,73]=0.271,X[35,73]=0.141,X[36,73]=0.200,X[37,73]=0.212,X[38,73]=0.161,X[39,73]=0.137,X[40,73]=0.145,X[41,73]=0.298,X[42,73]=0.278,X[43,73]=0.122,X[44,73]=0.169,X[45,73]=0.169,X[46,73]=0.125,X[47,73]=0.114,X[48,73]=0.071,X[49,73]=0.114,X[50,73]=0.196 X[51,73]=0.282,X[52,73]=0.337,X[53,73]=0.306,X[54,73]=0.227,X[55,73]=0.314,X[56,73]=0.251,X[57,73]=0.145,X[58,73]=0.161,X[59,73]=0.224,X[60,73]=0.306,X[61,73]=0.255,X[62,73]=0.294,X[63,73]=0.353,X[64,73]=0.267,X[65,73]=0.145,X[66,73]=0.039,X[67,73]=0.071,X[68,73]=0.267,X[69,73]=0.471,X[70,73]=0.455,X[71,73]=0.400,X[72,73]=0.416,X[73,73]=0.439,X[74,73]=0.467,X[75,73]=0.329,X[76,73]=0.204,X[77,73]=0.306,X[78,73]=0.286,X[79,73]=0.153,X[80,73]=0.078,X[81,73]=0.196,X[82,73]=0.365,X[83,73]=0.286,X[84,73]=0.329,X[85,73]=0.306,X[86,73]=0.420,X[87,73]=0.471,X[88,73]=0.263,X[89,73]=0.208,X[90,73]=0.180,X[91,73]=0.176,X[92,73]=0.153,X[93,73]=0.227,X[94,73]=0.231,X[95,73]=0.208,X[96,73]=0.322,X[97,73]=0.341,X[98,73]=0.263,X[99,73]=0.200,X[100,73]=0.184 X[1,74]=0.220,X[2,74]=0.220,X[3,74]=0.235,X[4,74]=0.251,X[5,74]=0.329,X[6,74]=0.188,X[7,74]=0.051,X[8,74]=0.047,X[9,74]=0.082,X[10,74]=0.145,X[11,74]=0.192,X[12,74]=0.180,X[13,74]=0.122,X[14,74]=0.059,X[15,74]=0.051,X[16,74]=0.141,X[17,74]=0.357,X[18,74]=0.482,X[19,74]=0.388,X[20,74]=0.337,X[21,74]=0.322,X[22,74]=0.373,X[23,74]=0.149,X[24,74]=0.267,X[25,74]=0.259,X[26,74]=0.055,X[27,74]=0.129,X[28,74]=0.275,X[29,74]=0.341,X[30,74]=0.227,X[31,74]=0.349,X[32,74]=0.369,X[33,74]=0.275,X[34,74]=0.082,X[35,74]=0.067,X[36,74]=0.137,X[37,74]=0.224,X[38,74]=0.227,X[39,74]=0.208,X[40,74]=0.216,X[41,74]=0.325,X[42,74]=0.290,X[43,74]=0.129,X[44,74]=0.196,X[45,74]=0.165,X[46,74]=0.055,X[47,74]=0.082,X[48,74]=0.165,X[49,74]=0.235,X[50,74]=0.349 X[51,74]=0.369,X[52,74]=0.239,X[53,74]=0.098,X[54,74]=0.059,X[55,74]=0.192,X[56,74]=0.325,X[57,74]=0.302,X[58,74]=0.259,X[59,74]=0.263,X[60,74]=0.243,X[61,74]=0.090,X[62,74]=0.125,X[63,74]=0.353,X[64,74]=0.298,X[65,74]=0.106,X[66,74]=0.043,X[67,74]=0.200,X[68,74]=0.451,X[69,74]=0.447,X[70,74]=0.325,X[71,74]=0.373,X[72,74]=0.369,X[73,74]=0.369,X[74,74]=0.373,X[75,74]=0.341,X[76,74]=0.239,X[77,74]=0.184,X[78,74]=0.078,X[79,74]=0.051,X[80,74]=0.047,X[81,74]=0.125,X[82,74]=0.318,X[83,74]=0.286,X[84,74]=0.267,X[85,74]=0.384,X[86,74]=0.427,X[87,74]=0.384,X[88,74]=0.310,X[89,74]=0.243,X[90,74]=0.208,X[91,74]=0.196,X[92,74]=0.169,X[93,74]=0.196,X[94,74]=0.251,X[95,74]=0.345,X[96,74]=0.278,X[97,74]=0.153,X[98,74]=0.125,X[99,74]=0.149,X[100,74]=0.188 X[1,75]=0.255,X[2,75]=0.259,X[3,75]=0.251,X[4,75]=0.216,X[5,75]=0.129,X[6,75]=0.067,X[7,75]=0.075,X[8,75]=0.063,X[9,75]=0.063,X[10,75]=0.098,X[11,75]=0.216,X[12,75]=0.227,X[13,75]=0.216,X[14,75]=0.169,X[15,75]=0.169,X[16,75]=0.325,X[17,75]=0.494,X[18,75]=0.427,X[19,75]=0.275,X[20,75]=0.161,X[21,75]=0.141,X[22,75]=0.365,X[23,75]=0.247,X[24,75]=0.247,X[25,75]=0.227,X[26,75]=0.055,X[27,75]=0.067,X[28,75]=0.098,X[29,75]=0.263,X[30,75]=0.255,X[31,75]=0.169,X[32,75]=0.122,X[33,75]=0.118,X[34,75]=0.149,X[35,75]=0.208,X[36,75]=0.290,X[37,75]=0.306,X[38,75]=0.169,X[39,75]=0.125,X[40,75]=0.216,X[41,75]=0.318,X[42,75]=0.329,X[43,75]=0.173,X[44,75]=0.188,X[45,75]=0.184,X[46,75]=0.157,X[47,75]=0.220,X[48,75]=0.302,X[49,75]=0.349,X[50,75]=0.224 X[51,75]=0.200,X[52,75]=0.302,X[53,75]=0.263,X[54,75]=0.208,X[55,75]=0.192,X[56,75]=0.318,X[57,75]=0.247,X[58,75]=0.275,X[59,75]=0.318,X[60,75]=0.110,X[61,75]=0.059,X[62,75]=0.063,X[63,75]=0.278,X[64,75]=0.345,X[65,75]=0.110,X[66,75]=0.149,X[67,75]=0.400,X[68,75]=0.420,X[69,75]=0.224,X[70,75]=0.231,X[71,75]=0.282,X[72,75]=0.318,X[73,75]=0.365,X[74,75]=0.400,X[75,75]=0.467,X[76,75]=0.424,X[77,75]=0.388,X[78,75]=0.361,X[79,75]=0.282,X[80,75]=0.220,X[81,75]=0.173,X[82,75]=0.278,X[83,75]=0.337,X[84,75]=0.373,X[85,75]=0.376,X[86,75]=0.165,X[87,75]=0.157,X[88,75]=0.361,X[89,75]=0.353,X[90,75]=0.235,X[91,75]=0.216,X[92,75]=0.227,X[93,75]=0.263,X[94,75]=0.365,X[95,75]=0.298,X[96,75]=0.145,X[97,75]=0.188,X[98,75]=0.231,X[99,75]=0.200,X[100,75]=0.200 X[1,76]=0.263,X[2,76]=0.310,X[3,76]=0.306,X[4,76]=0.286,X[5,76]=0.259,X[6,76]=0.137,X[7,76]=0.075,X[8,76]=0.075,X[9,76]=0.067,X[10,76]=0.161,X[11,76]=0.337,X[12,76]=0.349,X[13,76]=0.337,X[14,76]=0.310,X[15,76]=0.306,X[16,76]=0.404,X[17,76]=0.373,X[18,76]=0.196,X[19,76]=0.078,X[20,76]=0.039,X[21,76]=0.075,X[22,76]=0.278,X[23,76]=0.345,X[24,76]=0.235,X[25,76]=0.184,X[26,76]=0.063,X[27,76]=0.059,X[28,76]=0.035,X[29,76]=0.220,X[30,76]=0.404,X[31,76]=0.216,X[32,76]=0.180,X[33,76]=0.188,X[34,76]=0.227,X[35,76]=0.208,X[36,76]=0.220,X[37,76]=0.169,X[38,76]=0.075,X[39,76]=0.071,X[40,76]=0.090,X[41,76]=0.176,X[42,76]=0.212,X[43,76]=0.216,X[44,76]=0.216,X[45,76]=0.224,X[46,76]=0.239,X[47,76]=0.294,X[48,76]=0.243,X[49,76]=0.137,X[50,76]=0.051 X[51,76]=0.157,X[52,76]=0.337,X[53,76]=0.380,X[54,76]=0.400,X[55,76]=0.384,X[56,76]=0.396,X[57,76]=0.361,X[58,76]=0.298,X[59,76]=0.255,X[60,76]=0.157,X[61,76]=0.106,X[62,76]=0.071,X[63,76]=0.196,X[64,76]=0.325,X[65,76]=0.227,X[66,76]=0.325,X[67,76]=0.408,X[68,76]=0.157,X[69,76]=0.071,X[70,76]=0.157,X[71,76]=0.169,X[72,76]=0.169,X[73,76]=0.247,X[74,76]=0.416,X[75,76]=0.420,X[76,76]=0.357,X[77,76]=0.337,X[78,76]=0.345,X[79,76]=0.373,X[80,76]=0.384,X[81,76]=0.369,X[82,76]=0.380,X[83,76]=0.416,X[84,76]=0.431,X[85,76]=0.310,X[86,76]=0.153,X[87,76]=0.157,X[88,76]=0.251,X[89,76]=0.306,X[90,76]=0.247,X[91,76]=0.239,X[92,76]=0.263,X[93,76]=0.373,X[94,76]=0.369,X[95,76]=0.220,X[96,76]=0.243,X[97,76]=0.318,X[98,76]=0.325,X[99,76]=0.271,X[100,76]=0.278 X[1,77]=0.196,X[2,77]=0.337,X[3,77]=0.208,X[4,77]=0.173,X[5,77]=0.298,X[6,77]=0.243,X[7,77]=0.176,X[8,77]=0.098,X[9,77]=0.043,X[10,77]=0.082,X[11,77]=0.184,X[12,77]=0.247,X[13,77]=0.290,X[14,77]=0.369,X[15,77]=0.431,X[16,77]=0.412,X[17,77]=0.180,X[18,77]=0.051,X[19,77]=0.043,X[20,77]=0.051,X[21,77]=0.039,X[22,77]=0.153,X[23,77]=0.357,X[24,77]=0.259,X[25,77]=0.173,X[26,77]=0.075,X[27,77]=0.055,X[28,77]=0.055,X[29,77]=0.157,X[30,77]=0.333,X[31,77]=0.153,X[32,77]=0.157,X[33,77]=0.227,X[34,77]=0.255,X[35,77]=0.196,X[36,77]=0.165,X[37,77]=0.165,X[38,77]=0.086,X[39,77]=0.067,X[40,77]=0.071,X[41,77]=0.063,X[42,77]=0.149,X[43,77]=0.220,X[44,77]=0.239,X[45,77]=0.239,X[46,77]=0.243,X[47,77]=0.180,X[48,77]=0.059,X[49,77]=0.059,X[50,77]=0.082 X[51,77]=0.086,X[52,77]=0.086,X[53,77]=0.114,X[54,77]=0.169,X[55,77]=0.282,X[56,77]=0.463,X[57,77]=0.478,X[58,77]=0.427,X[59,77]=0.420,X[60,77]=0.412,X[61,77]=0.361,X[62,77]=0.290,X[63,77]=0.282,X[64,77]=0.357,X[65,77]=0.388,X[66,77]=0.400,X[67,77]=0.208,X[68,77]=0.047,X[69,77]=0.082,X[70,77]=0.180,X[71,77]=0.235,X[72,77]=0.259,X[73,77]=0.396,X[74,77]=0.439,X[75,77]=0.384,X[76,77]=0.349,X[77,77]=0.141,X[78,77]=0.082,X[79,77]=0.102,X[80,77]=0.125,X[81,77]=0.188,X[82,77]=0.365,X[83,77]=0.455,X[84,77]=0.459,X[85,77]=0.459,X[86,77]=0.420,X[87,77]=0.373,X[88,77]=0.357,X[89,77]=0.314,X[90,77]=0.298,X[91,77]=0.278,X[92,77]=0.341,X[93,77]=0.369,X[94,77]=0.255,X[95,77]=0.180,X[96,77]=0.286,X[97,77]=0.345,X[98,77]=0.314,X[99,77]=0.286,X[100,77]=0.173 X[1,78]=0.176,X[2,78]=0.302,X[3,78]=0.125,X[4,78]=0.075,X[5,78]=0.165,X[6,78]=0.216,X[7,78]=0.255,X[8,78]=0.208,X[9,78]=0.137,X[10,78]=0.122,X[11,78]=0.188,X[12,78]=0.204,X[13,78]=0.278,X[14,78]=0.427,X[15,78]=0.506,X[16,78]=0.439,X[17,78]=0.227,X[18,78]=0.051,X[19,78]=0.051,X[20,78]=0.055,X[21,78]=0.055,X[22,78]=0.098,X[23,78]=0.325,X[24,78]=0.333,X[25,78]=0.294,X[26,78]=0.204,X[27,78]=0.122,X[28,78]=0.086,X[29,78]=0.071,X[30,78]=0.090,X[31,78]=0.106,X[32,78]=0.173,X[33,78]=0.286,X[34,78]=0.345,X[35,78]=0.310,X[36,78]=0.224,X[37,78]=0.169,X[38,78]=0.071,X[39,78]=0.051,X[40,78]=0.114,X[41,78]=0.145,X[42,78]=0.204,X[43,78]=0.271,X[44,78]=0.271,X[45,78]=0.294,X[46,78]=0.298,X[47,78]=0.231,X[48,78]=0.137,X[49,78]=0.078,X[50,78]=0.086 X[51,78]=0.059,X[52,78]=0.039,X[53,78]=0.027,X[54,78]=0.082,X[55,78]=0.353,X[56,78]=0.396,X[57,78]=0.157,X[58,78]=0.110,X[59,78]=0.180,X[60,78]=0.247,X[61,78]=0.302,X[62,78]=0.341,X[63,78]=0.357,X[64,78]=0.404,X[65,78]=0.439,X[66,78]=0.404,X[67,78]=0.322,X[68,78]=0.239,X[69,78]=0.243,X[70,78]=0.298,X[71,78]=0.259,X[72,78]=0.349,X[73,78]=0.427,X[74,78]=0.365,X[75,78]=0.412,X[76,78]=0.302,X[77,78]=0.212,X[78,78]=0.153,X[79,78]=0.082,X[80,78]=0.047,X[81,78]=0.216,X[82,78]=0.431,X[83,78]=0.431,X[84,78]=0.463,X[85,78]=0.361,X[86,78]=0.341,X[87,78]=0.424,X[88,78]=0.416,X[89,78]=0.384,X[90,78]=0.400,X[91,78]=0.376,X[92,78]=0.400,X[93,78]=0.384,X[94,78]=0.353,X[95,78]=0.275,X[96,78]=0.267,X[97,78]=0.290,X[98,78]=0.227,X[99,78]=0.098,X[100,78]=0.047 X[1,79]=0.157,X[2,79]=0.200,X[3,79]=0.173,X[4,79]=0.239,X[5,79]=0.263,X[6,79]=0.188,X[7,79]=0.137,X[8,79]=0.208,X[9,79]=0.212,X[10,79]=0.180,X[11,79]=0.173,X[12,79]=0.235,X[13,79]=0.408,X[14,79]=0.498,X[15,79]=0.365,X[16,79]=0.392,X[17,79]=0.282,X[18,79]=0.071,X[19,79]=0.051,X[20,79]=0.067,X[21,79]=0.055,X[22,79]=0.224,X[23,79]=0.416,X[24,79]=0.439,X[25,79]=0.412,X[26,79]=0.392,X[27,79]=0.396,X[28,79]=0.329,X[29,79]=0.157,X[30,79]=0.153,X[31,79]=0.173,X[32,79]=0.231,X[33,79]=0.263,X[34,79]=0.180,X[35,79]=0.247,X[36,79]=0.318,X[37,79]=0.290,X[38,79]=0.188,X[39,79]=0.153,X[40,79]=0.188,X[41,79]=0.212,X[42,79]=0.224,X[43,79]=0.188,X[44,79]=0.290,X[45,79]=0.365,X[46,79]=0.216,X[47,79]=0.306,X[48,79]=0.290,X[49,79]=0.176,X[50,79]=0.102 X[51,79]=0.055,X[52,79]=0.071,X[53,79]=0.141,X[54,79]=0.392,X[55,79]=0.439,X[56,79]=0.145,X[57,79]=0.051,X[58,79]=0.086,X[59,79]=0.090,X[60,79]=0.055,X[61,79]=0.063,X[62,79]=0.082,X[63,79]=0.263,X[64,79]=0.443,X[65,79]=0.475,X[66,79]=0.455,X[67,79]=0.416,X[68,79]=0.443,X[69,79]=0.439,X[70,79]=0.388,X[71,79]=0.357,X[72,79]=0.357,X[73,79]=0.341,X[74,79]=0.365,X[75,79]=0.318,X[76,79]=0.263,X[77,79]=0.259,X[78,79]=0.278,X[79,79]=0.188,X[80,79]=0.212,X[81,79]=0.431,X[82,79]=0.451,X[83,79]=0.227,X[84,79]=0.380,X[85,79]=0.365,X[86,79]=0.333,X[87,79]=0.263,X[88,79]=0.145,X[89,79]=0.169,X[90,79]=0.263,X[91,79]=0.369,X[92,79]=0.447,X[93,79]=0.482,X[94,79]=0.502,X[95,79]=0.486,X[96,79]=0.459,X[97,79]=0.322,X[98,79]=0.129,X[99,79]=0.055,X[100,79]=0.086 X[1,80]=0.173,X[2,80]=0.208,X[3,80]=0.271,X[4,80]=0.259,X[5,80]=0.145,X[6,80]=0.075,X[7,80]=0.055,X[8,80]=0.086,X[9,80]=0.161,X[10,80]=0.192,X[11,80]=0.200,X[12,80]=0.349,X[13,80]=0.490,X[14,80]=0.318,X[15,80]=0.231,X[16,80]=0.318,X[17,80]=0.392,X[18,80]=0.122,X[19,80]=0.059,X[20,80]=0.047,X[21,80]=0.157,X[22,80]=0.404,X[23,80]=0.353,X[24,80]=0.427,X[25,80]=0.345,X[26,80]=0.122,X[27,80]=0.200,X[28,80]=0.271,X[29,80]=0.165,X[30,80]=0.137,X[31,80]=0.169,X[32,80]=0.227,X[33,80]=0.251,X[34,80]=0.129,X[35,80]=0.114,X[36,80]=0.235,X[37,80]=0.325,X[38,80]=0.353,X[39,80]=0.243,X[40,80]=0.251,X[41,80]=0.278,X[42,80]=0.161,X[43,80]=0.102,X[44,80]=0.267,X[45,80]=0.267,X[46,80]=0.071,X[47,80]=0.106,X[48,80]=0.220,X[49,80]=0.259,X[50,80]=0.216 X[51,80]=0.145,X[52,80]=0.086,X[53,80]=0.180,X[54,80]=0.384,X[55,80]=0.180,X[56,80]=0.086,X[57,80]=0.173,X[58,80]=0.247,X[59,80]=0.235,X[60,80]=0.122,X[61,80]=0.043,X[62,80]=0.180,X[63,80]=0.427,X[64,80]=0.412,X[65,80]=0.373,X[66,80]=0.392,X[67,80]=0.129,X[68,80]=0.208,X[69,80]=0.314,X[70,80]=0.400,X[71,80]=0.412,X[72,80]=0.357,X[73,80]=0.400,X[74,80]=0.435,X[75,80]=0.427,X[76,80]=0.408,X[77,80]=0.369,X[78,80]=0.361,X[79,80]=0.263,X[80,80]=0.388,X[81,80]=0.475,X[82,80]=0.267,X[83,80]=0.220,X[84,80]=0.333,X[85,80]=0.392,X[86,80]=0.204,X[87,80]=0.118,X[88,80]=0.157,X[89,80]=0.239,X[90,80]=0.231,X[91,80]=0.263,X[92,80]=0.404,X[93,80]=0.369,X[94,80]=0.282,X[95,80]=0.278,X[96,80]=0.384,X[97,80]=0.318,X[98,80]=0.196,X[99,80]=0.161,X[100,80]=0.125 X[1,81]=0.231,X[2,81]=0.231,X[3,81]=0.216,X[4,81]=0.122,X[5,81]=0.063,X[6,81]=0.039,X[7,81]=0.063,X[8,81]=0.051,X[9,81]=0.086,X[10,81]=0.133,X[11,81]=0.220,X[12,81]=0.349,X[13,81]=0.388,X[14,81]=0.200,X[15,81]=0.192,X[16,81]=0.235,X[17,81]=0.408,X[18,81]=0.176,X[19,81]=0.055,X[20,81]=0.110,X[21,81]=0.376,X[22,81]=0.392,X[23,81]=0.145,X[24,81]=0.365,X[25,81]=0.424,X[26,81]=0.122,X[27,81]=0.090,X[28,81]=0.118,X[29,81]=0.078,X[30,81]=0.071,X[31,81]=0.090,X[32,81]=0.188,X[33,81]=0.251,X[34,81]=0.196,X[35,81]=0.196,X[36,81]=0.227,X[37,81]=0.227,X[38,81]=0.318,X[39,81]=0.349,X[40,81]=0.294,X[41,81]=0.157,X[42,81]=0.051,X[43,81]=0.082,X[44,81]=0.231,X[45,81]=0.208,X[46,81]=0.110,X[47,81]=0.075,X[48,81]=0.075,X[49,81]=0.137,X[50,81]=0.220 X[51,81]=0.224,X[52,81]=0.173,X[53,81]=0.114,X[54,81]=0.137,X[55,81]=0.157,X[56,81]=0.224,X[57,81]=0.298,X[58,81]=0.267,X[59,81]=0.165,X[60,81]=0.075,X[61,81]=0.137,X[62,81]=0.396,X[63,81]=0.478,X[64,81]=0.176,X[65,81]=0.161,X[66,81]=0.412,X[67,81]=0.192,X[68,81]=0.020,X[69,81]=0.169,X[70,81]=0.239,X[71,81]=0.141,X[72,81]=0.169,X[73,81]=0.388,X[74,81]=0.431,X[75,81]=0.416,X[76,81]=0.447,X[77,81]=0.463,X[78,81]=0.439,X[79,81]=0.373,X[80,81]=0.455,X[81,81]=0.325,X[82,81]=0.247,X[83,81]=0.302,X[84,81]=0.275,X[85,81]=0.369,X[86,81]=0.263,X[87,81]=0.216,X[88,81]=0.302,X[89,81]=0.345,X[90,81]=0.235,X[91,81]=0.216,X[92,81]=0.325,X[93,81]=0.400,X[94,81]=0.133,X[95,81]=0.051,X[96,81]=0.141,X[97,81]=0.220,X[98,81]=0.231,X[99,81]=0.200,X[100,81]=0.192 X[1,82]=0.286,X[2,82]=0.239,X[3,82]=0.188,X[4,82]=0.118,X[5,82]=0.059,X[6,82]=0.063,X[7,82]=0.051,X[8,82]=0.086,X[9,82]=0.055,X[10,82]=0.118,X[11,82]=0.267,X[12,82]=0.294,X[13,82]=0.325,X[14,82]=0.298,X[15,82]=0.235,X[16,82]=0.176,X[17,82]=0.176,X[18,82]=0.094,X[19,82]=0.047,X[20,82]=0.129,X[21,82]=0.376,X[22,82]=0.227,X[23,82]=0.157,X[24,82]=0.275,X[25,82]=0.459,X[26,82]=0.318,X[27,82]=0.141,X[28,82]=0.192,X[29,82]=0.110,X[30,82]=0.059,X[31,82]=0.071,X[32,82]=0.137,X[33,82]=0.306,X[34,82]=0.231,X[35,82]=0.204,X[36,82]=0.227,X[37,82]=0.286,X[38,82]=0.298,X[39,82]=0.216,X[40,82]=0.078,X[41,82]=0.071,X[42,82]=0.059,X[43,82]=0.075,X[44,82]=0.216,X[45,82]=0.196,X[46,82]=0.180,X[47,82]=0.141,X[48,82]=0.129,X[49,82]=0.129,X[50,82]=0.153 X[51,82]=0.176,X[52,82]=0.200,X[53,82]=0.192,X[54,82]=0.192,X[55,82]=0.243,X[56,82]=0.192,X[57,82]=0.129,X[58,82]=0.067,X[59,82]=0.039,X[60,82]=0.118,X[61,82]=0.357,X[62,82]=0.486,X[63,82]=0.204,X[64,82]=0.047,X[65,82]=0.082,X[66,82]=0.322,X[67,82]=0.298,X[68,82]=0.071,X[69,82]=0.055,X[70,82]=0.059,X[71,82]=0.039,X[72,82]=0.165,X[73,82]=0.329,X[74,82]=0.424,X[75,82]=0.333,X[76,82]=0.333,X[77,82]=0.345,X[78,82]=0.369,X[79,82]=0.424,X[80,82]=0.384,X[81,82]=0.255,X[82,82]=0.286,X[83,82]=0.231,X[84,82]=0.208,X[85,82]=0.318,X[86,82]=0.357,X[87,82]=0.298,X[88,82]=0.310,X[89,82]=0.306,X[90,82]=0.220,X[91,82]=0.216,X[92,82]=0.239,X[93,82]=0.447,X[94,82]=0.298,X[95,82]=0.071,X[96,82]=0.043,X[97,82]=0.086,X[98,82]=0.165,X[99,82]=0.141,X[100,82]=0.216 X[1,83]=0.322,X[2,83]=0.357,X[3,83]=0.294,X[4,83]=0.212,X[5,83]=0.110,X[6,83]=0.075,X[7,83]=0.118,X[8,83]=0.188,X[9,83]=0.090,X[10,83]=0.137,X[11,83]=0.267,X[12,83]=0.125,X[13,83]=0.110,X[14,83]=0.235,X[15,83]=0.333,X[16,83]=0.318,X[17,83]=0.212,X[18,83]=0.098,X[19,83]=0.055,X[20,83]=0.102,X[21,83]=0.227,X[22,83]=0.243,X[23,83]=0.227,X[24,83]=0.235,X[25,83]=0.420,X[26,83]=0.427,X[27,83]=0.239,X[28,83]=0.188,X[29,83]=0.106,X[30,83]=0.059,X[31,83]=0.118,X[32,83]=0.184,X[33,83]=0.310,X[34,83]=0.302,X[35,83]=0.216,X[36,83]=0.220,X[37,83]=0.275,X[38,83]=0.129,X[39,83]=0.043,X[40,83]=0.047,X[41,83]=0.071,X[42,83]=0.063,X[43,83]=0.086,X[44,83]=0.204,X[45,83]=0.212,X[46,83]=0.196,X[47,83]=0.173,X[48,83]=0.239,X[49,83]=0.259,X[50,83]=0.239 X[51,83]=0.208,X[52,83]=0.129,X[53,83]=0.169,X[54,83]=0.247,X[55,83]=0.318,X[56,83]=0.298,X[57,83]=0.251,X[58,83]=0.220,X[59,83]=0.169,X[60,83]=0.290,X[61,83]=0.447,X[62,83]=0.275,X[63,83]=0.043,X[64,83]=0.047,X[65,83]=0.055,X[66,83]=0.200,X[67,83]=0.373,X[68,83]=0.145,X[69,83]=0.051,X[70,83]=0.055,X[71,83]=0.051,X[72,83]=0.157,X[73,83]=0.271,X[74,83]=0.396,X[75,83]=0.361,X[76,83]=0.247,X[77,83]=0.353,X[78,83]=0.443,X[79,83]=0.420,X[80,83]=0.282,X[81,83]=0.192,X[82,83]=0.271,X[83,83]=0.239,X[84,83]=0.227,X[85,83]=0.259,X[86,83]=0.345,X[87,83]=0.275,X[88,83]=0.278,X[89,83]=0.259,X[90,83]=0.165,X[91,83]=0.204,X[92,83]=0.212,X[93,83]=0.357,X[94,83]=0.267,X[95,83]=0.055,X[96,83]=0.043,X[97,83]=0.086,X[98,83]=0.153,X[99,83]=0.169,X[100,83]=0.271 X[1,84]=0.196,X[2,84]=0.239,X[3,84]=0.278,X[4,84]=0.337,X[5,84]=0.286,X[6,84]=0.192,X[7,84]=0.235,X[8,84]=0.278,X[9,84]=0.133,X[10,84]=0.118,X[11,84]=0.243,X[12,84]=0.133,X[13,84]=0.047,X[14,84]=0.051,X[15,84]=0.153,X[16,84]=0.329,X[17,84]=0.290,X[18,84]=0.082,X[19,84]=0.122,X[20,84]=0.239,X[21,84]=0.306,X[22,84]=0.251,X[23,84]=0.204,X[24,84]=0.247,X[25,84]=0.275,X[26,84]=0.173,X[27,84]=0.271,X[28,84]=0.255,X[29,84]=0.165,X[30,84]=0.149,X[31,84]=0.224,X[32,84]=0.267,X[33,84]=0.298,X[34,84]=0.259,X[35,84]=0.208,X[36,84]=0.231,X[37,84]=0.231,X[38,84]=0.078,X[39,84]=0.059,X[40,84]=0.055,X[41,84]=0.071,X[42,84]=0.071,X[43,84]=0.086,X[44,84]=0.192,X[45,84]=0.184,X[46,84]=0.196,X[47,84]=0.212,X[48,84]=0.275,X[49,84]=0.306,X[50,84]=0.318 X[51,84]=0.282,X[52,84]=0.114,X[53,84]=0.173,X[54,84]=0.318,X[55,84]=0.369,X[56,84]=0.392,X[57,84]=0.365,X[58,84]=0.353,X[59,84]=0.369,X[60,84]=0.412,X[61,84]=0.298,X[62,84]=0.067,X[63,84]=0.055,X[64,84]=0.059,X[65,84]=0.051,X[66,84]=0.110,X[67,84]=0.333,X[68,84]=0.259,X[69,84]=0.071,X[70,84]=0.067,X[71,84]=0.051,X[72,84]=0.118,X[73,84]=0.184,X[74,84]=0.275,X[75,84]=0.431,X[76,84]=0.349,X[77,84]=0.431,X[78,84]=0.475,X[79,84]=0.420,X[80,84]=0.227,X[81,84]=0.184,X[82,84]=0.267,X[83,84]=0.251,X[84,84]=0.263,X[85,84]=0.275,X[86,84]=0.341,X[87,84]=0.349,X[88,84]=0.337,X[89,84]=0.251,X[90,84]=0.216,X[91,84]=0.227,X[92,84]=0.224,X[93,84]=0.247,X[94,84]=0.082,X[95,84]=0.063,X[96,84]=0.067,X[97,84]=0.094,X[98,84]=0.176,X[99,84]=0.231,X[100,84]=0.275 X[1,85]=0.188,X[2,85]=0.200,X[3,85]=0.188,X[4,85]=0.224,X[5,85]=0.388,X[6,85]=0.361,X[7,85]=0.247,X[8,85]=0.133,X[9,85]=0.078,X[10,85]=0.110,X[11,85]=0.243,X[12,85]=0.188,X[13,85]=0.067,X[14,85]=0.055,X[15,85]=0.051,X[16,85]=0.114,X[17,85]=0.125,X[18,85]=0.071,X[19,85]=0.208,X[20,85]=0.318,X[21,85]=0.184,X[22,85]=0.122,X[23,85]=0.192,X[24,85]=0.267,X[25,85]=0.263,X[26,85]=0.141,X[27,85]=0.122,X[28,85]=0.235,X[29,85]=0.263,X[30,85]=0.243,X[31,85]=0.337,X[32,85]=0.286,X[33,85]=0.161,X[34,85]=0.102,X[35,85]=0.200,X[36,85]=0.224,X[37,85]=0.212,X[38,85]=0.071,X[39,85]=0.063,X[40,85]=0.063,X[41,85]=0.067,X[42,85]=0.067,X[43,85]=0.082,X[44,85]=0.184,X[45,85]=0.173,X[46,85]=0.200,X[47,85]=0.231,X[48,85]=0.298,X[49,85]=0.325,X[50,85]=0.345 X[51,85]=0.314,X[52,85]=0.196,X[53,85]=0.227,X[54,85]=0.239,X[55,85]=0.180,X[56,85]=0.224,X[57,85]=0.290,X[58,85]=0.341,X[59,85]=0.443,X[60,85]=0.478,X[61,85]=0.243,X[62,85]=0.047,X[63,85]=0.071,X[64,85]=0.059,X[65,85]=0.086,X[66,85]=0.071,X[67,85]=0.231,X[68,85]=0.329,X[69,85]=0.208,X[70,85]=0.161,X[71,85]=0.086,X[72,85]=0.122,X[73,85]=0.200,X[74,85]=0.176,X[75,85]=0.290,X[76,85]=0.447,X[77,85]=0.475,X[78,85]=0.255,X[79,85]=0.349,X[80,85]=0.353,X[81,85]=0.235,X[82,85]=0.255,X[83,85]=0.251,X[84,85]=0.341,X[85,85]=0.361,X[86,85]=0.424,X[87,85]=0.431,X[88,85]=0.392,X[89,85]=0.376,X[90,85]=0.408,X[91,85]=0.369,X[92,85]=0.302,X[93,85]=0.329,X[94,85]=0.118,X[95,85]=0.055,X[96,85]=0.071,X[97,85]=0.075,X[98,85]=0.118,X[99,85]=0.173,X[100,85]=0.255 X[1,86]=0.216,X[2,86]=0.212,X[3,86]=0.243,X[4,86]=0.212,X[5,86]=0.220,X[6,86]=0.196,X[7,86]=0.090,X[8,86]=0.063,X[9,86]=0.063,X[10,86]=0.098,X[11,86]=0.282,X[12,86]=0.302,X[13,86]=0.133,X[14,86]=0.055,X[15,86]=0.059,X[16,86]=0.075,X[17,86]=0.047,X[18,86]=0.051,X[19,86]=0.145,X[20,86]=0.118,X[21,86]=0.055,X[22,86]=0.055,X[23,86]=0.141,X[24,86]=0.263,X[25,86]=0.282,X[26,86]=0.224,X[27,86]=0.196,X[28,86]=0.200,X[29,86]=0.208,X[30,86]=0.259,X[31,86]=0.227,X[32,86]=0.098,X[33,86]=0.039,X[34,86]=0.075,X[35,86]=0.204,X[36,86]=0.216,X[37,86]=0.204,X[38,86]=0.106,X[39,86]=0.129,X[40,86]=0.082,X[41,86]=0.063,X[42,86]=0.043,X[43,86]=0.090,X[44,86]=0.184,X[45,86]=0.173,X[46,86]=0.188,X[47,86]=0.235,X[48,86]=0.318,X[49,86]=0.361,X[50,86]=0.384 X[51,86]=0.294,X[52,86]=0.129,X[53,86]=0.196,X[54,86]=0.220,X[55,86]=0.078,X[56,86]=0.051,X[57,86]=0.231,X[58,86]=0.439,X[59,86]=0.506,X[60,86]=0.400,X[61,86]=0.349,X[62,86]=0.098,X[63,86]=0.059,X[64,86]=0.071,X[65,86]=0.071,X[66,86]=0.071,X[67,86]=0.267,X[68,86]=0.400,X[69,86]=0.404,X[70,86]=0.404,X[71,86]=0.345,X[72,86]=0.282,X[73,86]=0.239,X[74,86]=0.173,X[75,86]=0.341,X[76,86]=0.478,X[77,86]=0.322,X[78,86]=0.231,X[79,86]=0.353,X[80,86]=0.420,X[81,86]=0.306,X[82,86]=0.282,X[83,86]=0.200,X[84,86]=0.329,X[85,86]=0.443,X[86,86]=0.333,X[87,86]=0.412,X[88,86]=0.365,X[89,86]=0.188,X[90,86]=0.247,X[91,86]=0.322,X[92,86]=0.263,X[93,86]=0.294,X[94,86]=0.184,X[95,86]=0.078,X[96,86]=0.106,X[97,86]=0.169,X[98,86]=0.204,X[99,86]=0.180,X[100,86]=0.247 X[1,87]=0.282,X[2,87]=0.239,X[3,87]=0.314,X[4,87]=0.310,X[5,87]=0.231,X[6,87]=0.125,X[7,87]=0.067,X[8,87]=0.055,X[9,87]=0.047,X[10,87]=0.055,X[11,87]=0.176,X[12,87]=0.271,X[13,87]=0.153,X[14,87]=0.051,X[15,87]=0.071,X[16,87]=0.063,X[17,87]=0.051,X[18,87]=0.067,X[19,87]=0.063,X[20,87]=0.063,X[21,87]=0.078,X[22,87]=0.071,X[23,87]=0.129,X[24,87]=0.306,X[25,87]=0.282,X[26,87]=0.204,X[27,87]=0.267,X[28,87]=0.278,X[29,87]=0.196,X[30,87]=0.090,X[31,87]=0.055,X[32,87]=0.067,X[33,87]=0.071,X[34,87]=0.129,X[35,87]=0.247,X[36,87]=0.204,X[37,87]=0.208,X[38,87]=0.173,X[39,87]=0.251,X[40,87]=0.176,X[41,87]=0.094,X[42,87]=0.125,X[43,87]=0.129,X[44,87]=0.165,X[45,87]=0.173,X[46,87]=0.216,X[47,87]=0.275,X[48,87]=0.333,X[49,87]=0.357,X[50,87]=0.380 X[51,87]=0.259,X[52,87]=0.129,X[53,87]=0.192,X[54,87]=0.235,X[55,87]=0.090,X[56,87]=0.153,X[57,87]=0.384,X[58,87]=0.490,X[59,87]=0.314,X[60,87]=0.192,X[61,87]=0.400,X[62,87]=0.200,X[63,87]=0.071,X[64,87]=0.075,X[65,87]=0.051,X[66,87]=0.212,X[67,87]=0.416,X[68,87]=0.412,X[69,87]=0.431,X[70,87]=0.322,X[71,87]=0.345,X[72,87]=0.404,X[73,87]=0.353,X[74,87]=0.169,X[75,87]=0.251,X[76,87]=0.365,X[77,87]=0.325,X[78,87]=0.337,X[79,87]=0.298,X[80,87]=0.392,X[81,87]=0.357,X[82,87]=0.294,X[83,87]=0.212,X[84,87]=0.416,X[85,87]=0.353,X[86,87]=0.086,X[87,87]=0.314,X[88,87]=0.443,X[89,87]=0.243,X[90,87]=0.180,X[91,87]=0.208,X[92,87]=0.224,X[93,87]=0.204,X[94,87]=0.169,X[95,87]=0.165,X[96,87]=0.247,X[97,87]=0.302,X[98,87]=0.302,X[99,87]=0.267,X[100,87]=0.290 X[1,88]=0.290,X[2,88]=0.259,X[3,88]=0.286,X[4,88]=0.200,X[5,88]=0.216,X[6,88]=0.271,X[7,88]=0.192,X[8,88]=0.086,X[9,88]=0.086,X[10,88]=0.047,X[11,88]=0.082,X[12,88]=0.188,X[13,88]=0.149,X[14,88]=0.051,X[15,88]=0.055,X[16,88]=0.055,X[17,88]=0.106,X[18,88]=0.098,X[19,88]=0.067,X[20,88]=0.063,X[21,88]=0.055,X[22,88]=0.043,X[23,88]=0.137,X[24,88]=0.318,X[25,88]=0.333,X[26,88]=0.216,X[27,88]=0.318,X[28,88]=0.337,X[29,88]=0.275,X[30,88]=0.098,X[31,88]=0.075,X[32,88]=0.200,X[33,88]=0.153,X[34,88]=0.149,X[35,88]=0.298,X[36,88]=0.212,X[37,88]=0.196,X[38,88]=0.231,X[39,88]=0.302,X[40,88]=0.286,X[41,88]=0.220,X[42,88]=0.173,X[43,88]=0.161,X[44,88]=0.188,X[45,88]=0.251,X[46,88]=0.263,X[47,88]=0.302,X[48,88]=0.329,X[49,88]=0.345,X[50,88]=0.384 X[51,88]=0.275,X[52,88]=0.239,X[53,88]=0.231,X[54,88]=0.314,X[55,88]=0.098,X[56,88]=0.153,X[57,88]=0.404,X[58,88]=0.318,X[59,88]=0.063,X[60,88]=0.078,X[61,88]=0.388,X[62,88]=0.325,X[63,88]=0.137,X[64,88]=0.149,X[65,88]=0.169,X[66,88]=0.404,X[67,88]=0.337,X[68,88]=0.231,X[69,88]=0.443,X[70,88]=0.255,X[71,88]=0.169,X[72,88]=0.251,X[73,88]=0.278,X[74,88]=0.243,X[75,88]=0.282,X[76,88]=0.361,X[77,88]=0.318,X[78,88]=0.157,X[79,88]=0.082,X[80,88]=0.137,X[81,88]=0.157,X[82,88]=0.145,X[83,88]=0.208,X[84,88]=0.400,X[85,88]=0.169,X[86,88]=0.063,X[87,88]=0.243,X[88,88]=0.471,X[89,88]=0.365,X[90,88]=0.224,X[91,88]=0.239,X[92,88]=0.306,X[93,88]=0.290,X[94,88]=0.208,X[95,88]=0.204,X[96,88]=0.235,X[97,88]=0.267,X[98,88]=0.322,X[99,88]=0.184,X[100,88]=0.208 X[1,89]=0.212,X[2,89]=0.271,X[3,89]=0.282,X[4,89]=0.145,X[5,89]=0.063,X[6,89]=0.173,X[7,89]=0.278,X[8,89]=0.125,X[9,89]=0.047,X[10,89]=0.055,X[11,89]=0.098,X[12,89]=0.184,X[13,89]=0.122,X[14,89]=0.071,X[15,89]=0.106,X[16,89]=0.173,X[17,89]=0.216,X[18,89]=0.204,X[19,89]=0.098,X[20,89]=0.063,X[21,89]=0.071,X[22,89]=0.067,X[23,89]=0.165,X[24,89]=0.282,X[25,89]=0.365,X[26,89]=0.337,X[27,89]=0.278,X[28,89]=0.188,X[29,89]=0.298,X[30,89]=0.212,X[31,89]=0.224,X[32,89]=0.392,X[33,89]=0.231,X[34,89]=0.094,X[35,89]=0.196,X[36,89]=0.259,X[37,89]=0.212,X[38,89]=0.231,X[39,89]=0.322,X[40,89]=0.337,X[41,89]=0.310,X[42,89]=0.243,X[43,89]=0.216,X[44,89]=0.322,X[45,89]=0.373,X[46,89]=0.282,X[47,89]=0.294,X[48,89]=0.325,X[49,89]=0.345,X[50,89]=0.384 X[51,89]=0.310,X[52,89]=0.196,X[53,89]=0.141,X[54,89]=0.302,X[55,89]=0.137,X[56,89]=0.063,X[57,89]=0.204,X[58,89]=0.259,X[59,89]=0.137,X[60,89]=0.055,X[61,89]=0.251,X[62,89]=0.255,X[63,89]=0.137,X[64,89]=0.196,X[65,89]=0.337,X[66,89]=0.463,X[67,89]=0.192,X[68,89]=0.098,X[69,89]=0.408,X[70,89]=0.373,X[71,89]=0.169,X[72,89]=0.188,X[73,89]=0.243,X[74,89]=0.325,X[75,89]=0.357,X[76,89]=0.192,X[77,89]=0.075,X[78,89]=0.043,X[79,89]=0.047,X[80,89]=0.047,X[81,89]=0.063,X[82,89]=0.173,X[83,89]=0.208,X[84,89]=0.235,X[85,89]=0.137,X[86,89]=0.200,X[87,89]=0.322,X[88,89]=0.424,X[89,89]=0.388,X[90,89]=0.239,X[91,89]=0.259,X[92,89]=0.231,X[93,89]=0.227,X[94,89]=0.275,X[95,89]=0.243,X[96,89]=0.192,X[97,89]=0.227,X[98,89]=0.165,X[99,89]=0.035,X[100,89]=0.051 X[1,90]=0.204,X[2,90]=0.325,X[3,90]=0.271,X[4,90]=0.161,X[5,90]=0.055,X[6,90]=0.043,X[7,90]=0.161,X[8,90]=0.090,X[9,90]=0.043,X[10,90]=0.051,X[11,90]=0.078,X[12,90]=0.184,X[13,90]=0.145,X[14,90]=0.153,X[15,90]=0.208,X[16,90]=0.286,X[17,90]=0.353,X[18,90]=0.227,X[19,90]=0.086,X[20,90]=0.051,X[21,90]=0.067,X[22,90]=0.141,X[23,90]=0.267,X[24,90]=0.322,X[25,90]=0.294,X[26,90]=0.216,X[27,90]=0.106,X[28,90]=0.071,X[29,90]=0.208,X[30,90]=0.224,X[31,90]=0.278,X[32,90]=0.341,X[33,90]=0.176,X[34,90]=0.086,X[35,90]=0.082,X[36,90]=0.259,X[37,90]=0.271,X[38,90]=0.173,X[39,90]=0.243,X[40,90]=0.329,X[41,90]=0.357,X[42,90]=0.325,X[43,90]=0.286,X[44,90]=0.282,X[45,90]=0.282,X[46,90]=0.247,X[47,90]=0.306,X[48,90]=0.345,X[49,90]=0.376,X[50,90]=0.373 X[51,90]=0.263,X[52,90]=0.094,X[53,90]=0.024,X[54,90]=0.094,X[55,90]=0.169,X[56,90]=0.231,X[57,90]=0.314,X[58,90]=0.357,X[59,90]=0.263,X[60,90]=0.075,X[61,90]=0.059,X[62,90]=0.047,X[63,90]=0.114,X[64,90]=0.204,X[65,90]=0.227,X[66,90]=0.329,X[67,90]=0.290,X[68,90]=0.106,X[69,90]=0.302,X[70,90]=0.486,X[71,90]=0.318,X[72,90]=0.208,X[73,90]=0.235,X[74,90]=0.259,X[75,90]=0.255,X[76,90]=0.110,X[77,90]=0.047,X[78,90]=0.055,X[79,90]=0.075,X[80,90]=0.063,X[81,90]=0.075,X[82,90]=0.188,X[83,90]=0.212,X[84,90]=0.212,X[85,90]=0.157,X[86,90]=0.271,X[87,90]=0.251,X[88,90]=0.165,X[89,90]=0.169,X[90,90]=0.235,X[91,90]=0.290,X[92,90]=0.227,X[93,90]=0.247,X[94,90]=0.318,X[95,90]=0.341,X[96,90]=0.290,X[97,90]=0.169,X[98,90]=0.059,X[99,90]=0.039,X[100,90]=0.067 X[1,91]=0.224,X[2,91]=0.369,X[3,91]=0.275,X[4,91]=0.133,X[5,91]=0.055,X[6,91]=0.067,X[7,91]=0.078,X[8,91]=0.047,X[9,91]=0.067,X[10,91]=0.071,X[11,91]=0.090,X[12,91]=0.192,X[13,91]=0.216,X[14,91]=0.243,X[15,91]=0.314,X[16,91]=0.357,X[17,91]=0.208,X[18,91]=0.082,X[19,91]=0.047,X[20,91]=0.071,X[21,91]=0.063,X[22,91]=0.098,X[23,91]=0.220,X[24,91]=0.173,X[25,91]=0.118,X[26,91]=0.298,X[27,91]=0.341,X[28,91]=0.263,X[29,91]=0.247,X[30,91]=0.263,X[31,91]=0.255,X[32,91]=0.235,X[33,91]=0.220,X[34,91]=0.173,X[35,91]=0.129,X[36,91]=0.231,X[37,91]=0.306,X[38,91]=0.196,X[39,91]=0.255,X[40,91]=0.353,X[41,91]=0.365,X[42,91]=0.361,X[43,91]=0.341,X[44,91]=0.286,X[45,91]=0.239,X[46,91]=0.239,X[47,91]=0.333,X[48,91]=0.376,X[49,91]=0.384,X[50,91]=0.361 X[51,91]=0.318,X[52,91]=0.161,X[53,91]=0.137,X[54,91]=0.251,X[55,91]=0.333,X[56,91]=0.380,X[57,91]=0.420,X[58,91]=0.475,X[59,91]=0.388,X[60,91]=0.188,X[61,91]=0.086,X[62,91]=0.051,X[63,91]=0.110,X[64,91]=0.192,X[65,91]=0.078,X[66,91]=0.161,X[67,91]=0.365,X[68,91]=0.224,X[69,91]=0.247,X[70,91]=0.447,X[71,91]=0.435,X[72,91]=0.243,X[73,91]=0.227,X[74,91]=0.247,X[75,91]=0.263,X[76,91]=0.122,X[77,91]=0.051,X[78,91]=0.055,X[79,91]=0.153,X[80,91]=0.082,X[81,91]=0.067,X[82,91]=0.180,X[83,91]=0.204,X[84,91]=0.208,X[85,91]=0.145,X[86,91]=0.161,X[87,91]=0.173,X[88,91]=0.153,X[89,91]=0.078,X[90,91]=0.196,X[91,91]=0.310,X[92,91]=0.255,X[93,91]=0.278,X[94,91]=0.294,X[95,91]=0.290,X[96,91]=0.314,X[97,91]=0.271,X[98,91]=0.188,X[99,91]=0.114,X[100,91]=0.071 X[1,92]=0.224,X[2,92]=0.345,X[3,92]=0.282,X[4,92]=0.129,X[5,92]=0.075,X[6,92]=0.082,X[7,92]=0.051,X[8,92]=0.035,X[9,92]=0.059,X[10,92]=0.110,X[11,92]=0.184,X[12,92]=0.235,X[13,92]=0.255,X[14,92]=0.267,X[15,92]=0.286,X[16,92]=0.220,X[17,92]=0.118,X[18,92]=0.055,X[19,92]=0.071,X[20,92]=0.071,X[21,92]=0.071,X[22,92]=0.039,X[23,92]=0.055,X[24,92]=0.051,X[25,92]=0.063,X[26,92]=0.137,X[27,92]=0.227,X[28,92]=0.302,X[29,92]=0.325,X[30,92]=0.310,X[31,92]=0.333,X[32,92]=0.278,X[33,92]=0.188,X[34,92]=0.188,X[35,92]=0.200,X[36,92]=0.231,X[37,92]=0.310,X[38,92]=0.322,X[39,92]=0.408,X[40,92]=0.392,X[41,92]=0.216,X[42,92]=0.282,X[43,92]=0.345,X[44,92]=0.341,X[45,92]=0.294,X[46,92]=0.290,X[47,92]=0.365,X[48,92]=0.400,X[49,92]=0.376,X[50,92]=0.302 X[51,92]=0.235,X[52,92]=0.278,X[53,92]=0.345,X[54,92]=0.408,X[55,92]=0.455,X[56,92]=0.494,X[57,92]=0.522,X[58,92]=0.400,X[59,92]=0.275,X[60,92]=0.208,X[61,92]=0.169,X[62,92]=0.114,X[63,92]=0.157,X[64,92]=0.224,X[65,92]=0.110,X[66,92]=0.063,X[67,92]=0.286,X[68,92]=0.322,X[69,92]=0.294,X[70,92]=0.408,X[71,92]=0.255,X[72,92]=0.141,X[73,92]=0.220,X[74,92]=0.220,X[75,92]=0.306,X[76,92]=0.129,X[77,92]=0.051,X[78,92]=0.153,X[79,92]=0.333,X[80,92]=0.294,X[81,92]=0.118,X[82,92]=0.176,X[83,92]=0.192,X[84,92]=0.188,X[85,92]=0.184,X[86,92]=0.227,X[87,92]=0.314,X[88,92]=0.294,X[89,92]=0.102,X[90,92]=0.192,X[91,92]=0.349,X[92,92]=0.267,X[93,92]=0.255,X[94,92]=0.267,X[95,92]=0.235,X[96,92]=0.220,X[97,92]=0.302,X[98,92]=0.373,X[99,92]=0.247,X[100,92]=0.086 X[1,93]=0.118,X[2,93]=0.176,X[3,93]=0.224,X[4,93]=0.137,X[5,93]=0.059,X[6,93]=0.059,X[7,93]=0.055,X[8,93]=0.078,X[9,93]=0.141,X[10,93]=0.231,X[11,93]=0.329,X[12,93]=0.318,X[13,93]=0.294,X[14,93]=0.294,X[15,93]=0.180,X[16,93]=0.192,X[17,93]=0.125,X[18,93]=0.055,X[19,93]=0.055,X[20,93]=0.094,X[21,93]=0.169,X[22,93]=0.102,X[23,93]=0.125,X[24,93]=0.110,X[25,93]=0.067,X[26,93]=0.039,X[27,93]=0.043,X[28,93]=0.059,X[29,93]=0.149,X[30,93]=0.318,X[31,93]=0.353,X[32,93]=0.294,X[33,93]=0.173,X[34,93]=0.173,X[35,93]=0.212,X[36,93]=0.224,X[37,93]=0.290,X[38,93]=0.408,X[39,93]=0.431,X[40,93]=0.224,X[41,93]=0.071,X[42,93]=0.122,X[43,93]=0.282,X[44,93]=0.369,X[45,93]=0.376,X[46,93]=0.376,X[47,93]=0.392,X[48,93]=0.408,X[49,93]=0.404,X[50,93]=0.373 X[51,93]=0.357,X[52,93]=0.416,X[53,93]=0.478,X[54,93]=0.525,X[55,93]=0.518,X[56,93]=0.427,X[57,93]=0.263,X[58,93]=0.078,X[59,93]=0.071,X[60,93]=0.165,X[61,93]=0.169,X[62,93]=0.173,X[63,93]=0.224,X[64,93]=0.345,X[65,93]=0.341,X[66,93]=0.243,X[67,93]=0.310,X[68,93]=0.412,X[69,93]=0.416,X[70,93]=0.310,X[71,93]=0.063,X[72,93]=0.118,X[73,93]=0.227,X[74,93]=0.216,X[75,93]=0.314,X[76,93]=0.196,X[77,93]=0.110,X[78,93]=0.322,X[79,93]=0.443,X[80,93]=0.267,X[81,93]=0.086,X[82,93]=0.176,X[83,93]=0.204,X[84,93]=0.212,X[85,93]=0.251,X[86,93]=0.357,X[87,93]=0.294,X[88,93]=0.149,X[89,93]=0.078,X[90,93]=0.216,X[91,93]=0.384,X[92,93]=0.278,X[93,93]=0.231,X[94,93]=0.263,X[95,93]=0.298,X[96,93]=0.231,X[97,93]=0.200,X[98,93]=0.298,X[99,93]=0.235,X[100,93]=0.051 X[1,94]=0.039,X[2,94]=0.110,X[3,94]=0.196,X[4,94]=0.129,X[5,94]=0.047,X[6,94]=0.067,X[7,94]=0.133,X[8,94]=0.208,X[9,94]=0.314,X[10,94]=0.357,X[11,94]=0.314,X[12,94]=0.216,X[13,94]=0.157,X[14,94]=0.259,X[15,94]=0.271,X[16,94]=0.247,X[17,94]=0.169,X[18,94]=0.086,X[19,94]=0.082,X[20,94]=0.196,X[21,94]=0.271,X[22,94]=0.235,X[23,94]=0.231,X[24,94]=0.243,X[25,94]=0.094,X[26,94]=0.075,X[27,94]=0.063,X[28,94]=0.071,X[29,94]=0.125,X[30,94]=0.341,X[31,94]=0.380,X[32,94]=0.294,X[33,94]=0.180,X[34,94]=0.220,X[35,94]=0.263,X[36,94]=0.263,X[37,94]=0.361,X[38,94]=0.490,X[39,94]=0.510,X[40,94]=0.396,X[41,94]=0.365,X[42,94]=0.353,X[43,94]=0.329,X[44,94]=0.325,X[45,94]=0.361,X[46,94]=0.369,X[47,94]=0.396,X[48,94]=0.420,X[49,94]=0.447,X[50,94]=0.455 X[51,94]=0.459,X[52,94]=0.502,X[53,94]=0.494,X[54,94]=0.373,X[55,94]=0.259,X[56,94]=0.196,X[57,94]=0.122,X[58,94]=0.090,X[59,94]=0.149,X[60,94]=0.224,X[61,94]=0.298,X[62,94]=0.271,X[63,94]=0.267,X[64,94]=0.298,X[65,94]=0.325,X[66,94]=0.353,X[67,94]=0.373,X[68,94]=0.447,X[69,94]=0.388,X[70,94]=0.086,X[71,94]=0.031,X[72,94]=0.122,X[73,94]=0.208,X[74,94]=0.271,X[75,94]=0.373,X[76,94]=0.282,X[77,94]=0.325,X[78,94]=0.431,X[79,94]=0.298,X[80,94]=0.082,X[81,94]=0.125,X[82,94]=0.208,X[83,94]=0.239,X[84,94]=0.278,X[85,94]=0.353,X[86,94]=0.243,X[87,94]=0.082,X[88,94]=0.125,X[89,94]=0.235,X[90,94]=0.318,X[91,94]=0.306,X[92,94]=0.200,X[93,94]=0.271,X[94,94]=0.196,X[95,94]=0.141,X[96,94]=0.220,X[97,94]=0.231,X[98,94]=0.216,X[99,94]=0.149,X[100,94]=0.078 X[1,95]=0.094,X[2,95]=0.125,X[3,95]=0.212,X[4,95]=0.133,X[5,95]=0.118,X[6,95]=0.192,X[7,95]=0.263,X[8,95]=0.333,X[9,95]=0.302,X[10,95]=0.161,X[11,95]=0.153,X[12,95]=0.200,X[13,95]=0.161,X[14,95]=0.114,X[15,95]=0.192,X[16,95]=0.294,X[17,95]=0.318,X[18,95]=0.243,X[19,95]=0.200,X[20,95]=0.271,X[21,95]=0.302,X[22,95]=0.302,X[23,95]=0.275,X[24,95]=0.255,X[25,95]=0.157,X[26,95]=0.071,X[27,95]=0.071,X[28,95]=0.051,X[29,95]=0.137,X[30,95]=0.365,X[31,95]=0.373,X[32,95]=0.310,X[33,95]=0.247,X[34,95]=0.278,X[35,95]=0.259,X[36,95]=0.353,X[37,95]=0.502,X[38,95]=0.404,X[39,95]=0.373,X[40,95]=0.412,X[41,95]=0.361,X[42,95]=0.420,X[43,95]=0.325,X[44,95]=0.184,X[45,95]=0.216,X[46,95]=0.310,X[47,95]=0.400,X[48,95]=0.451,X[49,95]=0.482,X[50,95]=0.498 X[51,95]=0.471,X[52,95]=0.337,X[53,95]=0.169,X[54,95]=0.145,X[55,95]=0.165,X[56,95]=0.176,X[57,95]=0.192,X[58,95]=0.216,X[59,95]=0.255,X[60,95]=0.345,X[61,95]=0.325,X[62,95]=0.306,X[63,95]=0.337,X[64,95]=0.239,X[65,95]=0.231,X[66,95]=0.263,X[67,95]=0.231,X[68,95]=0.314,X[69,95]=0.388,X[70,95]=0.125,X[71,95]=0.043,X[72,95]=0.102,X[73,95]=0.200,X[74,95]=0.212,X[75,95]=0.255,X[76,95]=0.341,X[77,95]=0.447,X[78,95]=0.369,X[79,95]=0.157,X[80,95]=0.165,X[81,95]=0.247,X[82,95]=0.290,X[83,95]=0.290,X[84,95]=0.278,X[85,95]=0.255,X[86,95]=0.204,X[87,95]=0.125,X[88,95]=0.161,X[89,95]=0.275,X[90,95]=0.220,X[91,95]=0.090,X[92,95]=0.094,X[93,95]=0.302,X[94,95]=0.275,X[95,95]=0.059,X[96,95]=0.086,X[97,95]=0.149,X[98,95]=0.204,X[99,95]=0.220,X[100,95]=0.176 X[1,96]=0.204,X[2,96]=0.204,X[3,96]=0.204,X[4,96]=0.200,X[5,96]=0.227,X[6,96]=0.318,X[7,96]=0.325,X[8,96]=0.212,X[9,96]=0.078,X[10,96]=0.075,X[11,96]=0.075,X[12,96]=0.106,X[13,96]=0.176,X[14,96]=0.192,X[15,96]=0.216,X[16,96]=0.235,X[17,96]=0.290,X[18,96]=0.314,X[19,96]=0.235,X[20,96]=0.275,X[21,96]=0.306,X[22,96]=0.325,X[23,96]=0.318,X[24,96]=0.306,X[25,96]=0.255,X[26,96]=0.169,X[27,96]=0.071,X[28,96]=0.047,X[29,96]=0.157,X[30,96]=0.345,X[31,96]=0.349,X[32,96]=0.302,X[33,96]=0.255,X[34,96]=0.176,X[35,96]=0.263,X[36,96]=0.459,X[37,96]=0.447,X[38,96]=0.275,X[39,96]=0.220,X[40,96]=0.235,X[41,96]=0.251,X[42,96]=0.208,X[43,96]=0.133,X[44,96]=0.075,X[45,96]=0.125,X[46,96]=0.278,X[47,96]=0.400,X[48,96]=0.467,X[49,96]=0.506,X[50,96]=0.369 X[51,96]=0.263,X[52,96]=0.192,X[53,96]=0.157,X[54,96]=0.165,X[55,96]=0.173,X[56,96]=0.196,X[57,96]=0.235,X[58,96]=0.282,X[59,96]=0.357,X[60,96]=0.365,X[61,96]=0.318,X[62,96]=0.294,X[63,96]=0.212,X[64,96]=0.231,X[65,96]=0.298,X[66,96]=0.318,X[67,96]=0.267,X[68,96]=0.247,X[69,96]=0.388,X[70,96]=0.220,X[71,96]=0.039,X[72,96]=0.094,X[73,96]=0.188,X[74,96]=0.149,X[75,96]=0.220,X[76,96]=0.424,X[77,96]=0.510,X[78,96]=0.471,X[79,96]=0.416,X[80,96]=0.416,X[81,96]=0.427,X[82,96]=0.286,X[83,96]=0.235,X[84,96]=0.318,X[85,96]=0.255,X[86,96]=0.227,X[87,96]=0.204,X[88,96]=0.180,X[89,96]=0.118,X[90,96]=0.051,X[91,96]=0.047,X[92,96]=0.063,X[93,96]=0.106,X[94,96]=0.137,X[95,96]=0.043,X[96,96]=0.043,X[97,96]=0.071,X[98,96]=0.063,X[99,96]=0.161,X[100,96]=0.204 X[1,97]=0.180,X[2,97]=0.220,X[3,97]=0.227,X[4,97]=0.235,X[5,97]=0.243,X[6,97]=0.263,X[7,97]=0.196,X[8,97]=0.071,X[9,97]=0.071,X[10,97]=0.075,X[11,97]=0.051,X[12,97]=0.059,X[13,97]=0.086,X[14,97]=0.149,X[15,97]=0.216,X[16,97]=0.247,X[17,97]=0.294,X[18,97]=0.247,X[19,97]=0.122,X[20,97]=0.224,X[21,97]=0.329,X[22,97]=0.353,X[23,97]=0.337,X[24,97]=0.345,X[25,97]=0.325,X[26,97]=0.298,X[27,97]=0.216,X[28,97]=0.145,X[29,97]=0.220,X[30,97]=0.333,X[31,97]=0.384,X[32,97]=0.322,X[33,97]=0.145,X[34,97]=0.180,X[35,97]=0.404,X[36,97]=0.427,X[37,97]=0.278,X[38,97]=0.278,X[39,97]=0.282,X[40,97]=0.224,X[41,97]=0.212,X[42,97]=0.224,X[43,97]=0.208,X[44,97]=0.173,X[45,97]=0.176,X[46,97]=0.290,X[47,97]=0.400,X[48,97]=0.463,X[49,97]=0.451,X[50,97]=0.282 X[51,97]=0.165,X[52,97]=0.137,X[53,97]=0.173,X[54,97]=0.188,X[55,97]=0.251,X[56,97]=0.314,X[57,97]=0.290,X[58,97]=0.286,X[59,97]=0.267,X[60,97]=0.294,X[61,97]=0.220,X[62,97]=0.298,X[63,97]=0.216,X[64,97]=0.255,X[65,97]=0.329,X[66,97]=0.345,X[67,97]=0.255,X[68,97]=0.231,X[69,97]=0.329,X[70,97]=0.314,X[71,97]=0.098,X[72,97]=0.110,X[73,97]=0.192,X[74,97]=0.231,X[75,97]=0.420,X[76,97]=0.478,X[77,97]=0.318,X[78,97]=0.396,X[79,97]=0.447,X[80,97]=0.384,X[81,97]=0.376,X[82,97]=0.137,X[83,97]=0.188,X[84,97]=0.278,X[85,97]=0.247,X[86,97]=0.278,X[87,97]=0.282,X[88,97]=0.267,X[89,97]=0.212,X[90,97]=0.086,X[91,97]=0.055,X[92,97]=0.075,X[93,97]=0.129,X[94,97]=0.137,X[95,97]=0.063,X[96,97]=0.067,X[97,97]=0.051,X[98,97]=0.055,X[99,97]=0.075,X[100,97]=0.090 X[1,98]=0.224,X[2,98]=0.259,X[3,98]=0.267,X[4,98]=0.263,X[5,98]=0.235,X[6,98]=0.176,X[7,98]=0.169,X[8,98]=0.090,X[9,98]=0.055,X[10,98]=0.047,X[11,98]=0.078,X[12,98]=0.071,X[13,98]=0.051,X[14,98]=0.043,X[15,98]=0.149,X[16,98]=0.267,X[17,98]=0.212,X[18,98]=0.086,X[19,98]=0.059,X[20,98]=0.137,X[21,98]=0.231,X[22,98]=0.271,X[23,98]=0.349,X[24,98]=0.365,X[25,98]=0.353,X[26,98]=0.345,X[27,98]=0.329,X[28,98]=0.275,X[29,98]=0.275,X[30,98]=0.341,X[31,98]=0.388,X[32,98]=0.345,X[33,98]=0.282,X[34,98]=0.357,X[35,98]=0.396,X[36,98]=0.259,X[37,98]=0.192,X[38,98]=0.106,X[39,98]=0.192,X[40,98]=0.251,X[41,98]=0.216,X[42,98]=0.196,X[43,98]=0.263,X[44,98]=0.337,X[45,98]=0.275,X[46,98]=0.294,X[47,98]=0.400,X[48,98]=0.451,X[49,98]=0.396,X[50,98]=0.125 X[51,98]=0.067,X[52,98]=0.153,X[53,98]=0.243,X[54,98]=0.329,X[55,98]=0.369,X[56,98]=0.275,X[57,98]=0.212,X[58,98]=0.341,X[59,98]=0.259,X[60,98]=0.176,X[61,98]=0.106,X[62,98]=0.239,X[63,98]=0.298,X[64,98]=0.275,X[65,98]=0.369,X[66,98]=0.353,X[67,98]=0.118,X[68,98]=0.102,X[69,98]=0.243,X[70,98]=0.369,X[71,98]=0.231,X[72,98]=0.157,X[73,98]=0.227,X[74,98]=0.376,X[75,98]=0.486,X[76,98]=0.365,X[77,98]=0.314,X[78,98]=0.322,X[79,98]=0.192,X[80,98]=0.098,X[81,98]=0.075,X[82,98]=0.051,X[83,98]=0.200,X[84,98]=0.306,X[85,98]=0.176,X[86,98]=0.114,X[87,98]=0.278,X[88,98]=0.306,X[89,98]=0.227,X[90,98]=0.090,X[91,98]=0.043,X[92,98]=0.067,X[93,98]=0.173,X[94,98]=0.176,X[95,98]=0.094,X[96,98]=0.067,X[97,98]=0.051,X[98,98]=0.059,X[99,98]=0.078,X[100,98]=0.133 X[1,99]=0.286,X[2,99]=0.267,X[3,99]=0.302,X[4,99]=0.314,X[5,99]=0.278,X[6,99]=0.306,X[7,99]=0.208,X[8,99]=0.094,X[9,99]=0.051,X[10,99]=0.047,X[11,99]=0.063,X[12,99]=0.059,X[13,99]=0.043,X[14,99]=0.051,X[15,99]=0.153,X[16,99]=0.259,X[17,99]=0.149,X[18,99]=0.075,X[19,99]=0.055,X[20,99]=0.059,X[21,99]=0.047,X[22,99]=0.075,X[23,99]=0.231,X[24,99]=0.353,X[25,99]=0.353,X[26,99]=0.345,X[27,99]=0.357,X[28,99]=0.357,X[29,99]=0.329,X[30,99]=0.357,X[31,99]=0.373,X[32,99]=0.373,X[33,99]=0.416,X[34,99]=0.412,X[35,99]=0.251,X[36,99]=0.200,X[37,99]=0.208,X[38,99]=0.075,X[39,99]=0.067,X[40,99]=0.161,X[41,99]=0.216,X[42,99]=0.271,X[43,99]=0.400,X[44,99]=0.341,X[45,99]=0.216,X[46,99]=0.306,X[47,99]=0.396,X[48,99]=0.455,X[49,99]=0.369,X[50,99]=0.173 X[51,99]=0.208,X[52,99]=0.294,X[53,99]=0.365,X[54,99]=0.290,X[55,99]=0.302,X[56,99]=0.149,X[57,99]=0.047,X[58,99]=0.247,X[59,99]=0.380,X[60,99]=0.345,X[61,99]=0.318,X[62,99]=0.314,X[63,99]=0.306,X[64,99]=0.302,X[65,99]=0.380,X[66,99]=0.318,X[67,99]=0.086,X[68,99]=0.055,X[69,99]=0.145,X[70,99]=0.322,X[71,99]=0.294,X[72,99]=0.227,X[73,99]=0.333,X[74,99]=0.408,X[75,99]=0.298,X[76,99]=0.263,X[77,99]=0.184,X[78,99]=0.086,X[79,99]=0.039,X[80,99]=0.055,X[81,99]=0.059,X[82,99]=0.110,X[83,99]=0.247,X[84,99]=0.341,X[85,99]=0.157,X[86,99]=0.059,X[87,99]=0.078,X[88,99]=0.114,X[89,99]=0.149,X[90,99]=0.082,X[91,99]=0.051,X[92,99]=0.102,X[93,99]=0.173,X[94,99]=0.188,X[95,99]=0.090,X[96,99]=0.071,X[97,99]=0.067,X[98,99]=0.125,X[99,99]=0.176,X[100,99]=0.239 X[1,100]=0.208,X[2,100]=0.212,X[3,100]=0.318,X[4,100]=0.259,X[5,100]=0.184,X[6,100]=0.286,X[7,100]=0.259,X[8,100]=0.192,X[9,100]=0.129,X[10,100]=0.071,X[11,100]=0.071,X[12,100]=0.055,X[13,100]=0.078,X[14,100]=0.063,X[15,100]=0.129,X[16,100]=0.188,X[17,100]=0.188,X[18,100]=0.153,X[19,100]=0.051,X[20,100]=0.059,X[21,100]=0.078,X[22,100]=0.090,X[23,100]=0.247,X[24,100]=0.384,X[25,100]=0.349,X[26,100]=0.341,X[27,100]=0.349,X[28,100]=0.380,X[29,100]=0.392,X[30,100]=0.400,X[31,100]=0.349,X[32,100]=0.376,X[33,100]=0.443,X[34,100]=0.427,X[35,100]=0.396,X[36,100]=0.341,X[37,100]=0.306,X[38,100]=0.220,X[39,100]=0.161,X[40,100]=0.192,X[41,100]=0.224,X[42,100]=0.353,X[43,100]=0.376,X[44,100]=0.216,X[45,100]=0.180,X[46,100]=0.322,X[47,100]=0.396,X[48,100]=0.424,X[49,100]=0.349,X[50,100]=0.192 X[51,100]=0.275,X[52,100]=0.341,X[53,100]=0.153,X[54,100]=0.161,X[55,100]=0.259,X[56,100]=0.157,X[57,100]=0.055,X[58,100]=0.157,X[59,100]=0.282,X[60,100]=0.345,X[61,100]=0.400,X[62,100]=0.396,X[63,100]=0.294,X[64,100]=0.314,X[65,100]=0.376,X[66,100]=0.345,X[67,100]=0.204,X[68,100]=0.184,X[69,100]=0.204,X[70,100]=0.267,X[71,100]=0.322,X[72,100]=0.290,X[73,100]=0.290,X[74,100]=0.263,X[75,100]=0.184,X[76,100]=0.106,X[77,100]=0.051,X[78,100]=0.059,X[79,100]=0.086,X[80,100]=0.055,X[81,100]=0.090,X[82,100]=0.255,X[83,100]=0.353,X[84,100]=0.373,X[85,100]=0.153,X[86,100]=0.055,X[87,100]=0.067,X[88,100]=0.129,X[89,100]=0.165,X[90,100]=0.169,X[91,100]=0.118,X[92,100]=0.102,X[93,100]=0.188,X[94,100]=0.196,X[95,100]=0.098,X[96,100]=0.114,X[97,100]=0.173,X[98,100]=0.231,X[99,100]=0.227,X[100,100]=0.294 init: float res = 0.0 float lowtrap=abs(round(real(@itrap)*#maxiter)) float hightrap=abs(round(imag(@itrap)*#maxiter)) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF float iterexp = 0 float scale = @colors*#pi/128 complex zold = (0,0) complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float rotx = #x float roty = #y int irotx int iroty int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) loop: complex z1 = #z*(1-@weight) + p*@weight IF (@converge > 0) iterexp = iterexp + exp(-cabs(z1)) ELSE iterexp = iterexp + exp(-1/(cabs(zold - z1))) ENDIF zold = #z final: rotx = rotx/#width roty = roty/#height float xx = rotx rotx = #width+0.5*#width+(rotx-0.5)*cos(@angle*#pi/180)*#width - (roty-0.5)*sin(@angle*#pi/180)*#height roty = #height+0.5*#height+(roty-0.5)*cos(@angle*#pi/180)*#height + (xx-0.5)*sin(@angle*#pi/180)*#width irotx = abs(round(rotx)) iroty = abs(round(roty)) float smooth = iterexp*scale ez = cos(smooth)+flip(sin(smooth)) float angle = atan2(ez) IF (angle < 0) angle = angle + #pi * 2 ENDIF IF (@trap == true) IF (#numiter>=lowtrap)&&(#numiter<=hightrap) ; Is pixel in trap? #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ELSE #solid = true ENDIF ELSE #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ENDIF if @solidb && cabs(#z) == 0 #solid = true endif default: title = "Exp Coral Texture" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param solidb caption = "Solid background" default = false endparam param colors caption = "Color Spread" default = 2.0 hint = "2.0 approximates the iteration count. \ Use 10.0 for convergent fractals." endparam param trap caption = "Use Iteration Trap" default = false endparam param itrap caption="Trap Limits" default=(0.0,1.0) hint="Between 0.0 and 1.0" endparam param palrange caption = "Palette Range" default = 256.0 hint = "256 means use the whole palette." endparam param scale caption = "texture scale" default = 1.0 endparam param wate caption = "texture weight" default = 0.05 endparam param hite caption = "texture warp" default = 0.01 endparam param fbms caption = "texture fBm Weight" default = 0.01 endparam param angle caption = "texture rotation" default = 0.0 endparam param converge caption = "Fractal Type" default = 1 enum = "Convergent" "Divergent" hint = "Mandelbrot is Divergent, Newton is Convergent." endparam param weight caption = "fBm Weight" default = 0.5 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default = 10.0 endparam } Heightfields { ; Ron Barnett, December 2010 ; This ucl is intended for use with the heightfield formula $define debug global: init: loop: final: if @ctype == "Diffuse lighting" float l = real(#z) float shad = imag(#z) l = l + 1 #index = 0.99*l + shad else #index = 0.05*(4+real(#z)) endif if cabs(#z) == 0 && @usesolid #solid = true endif default: title = "Heightfields" param version default = 1.00 visible = false hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." endparam bool param usesolid caption = "Use solid color" default = false endparam param ctype caption = "Color type" default = 0 enum = "Diffuse lighting" "Z value" endparam } 3D_Texturizer_Enhanced_III { ; Ron Barnett, April 25, 2004 ; This coloring method is based upon ; the Lighting and fBm formulas of ; Damien Jones ; Iteration trap functionality, from Red William and ; Height Trap functionality added January 6, 2002 ; Corrected fBM for zooms and image size Jan 19, 2002 ; Revised March 8, 2003 to support solid backgrounds ; for strange attractors ; Revised April 25, 2004 to correct for errors in rendering ; Texture II ; Revised December 5, 2004 to make the texture defaults = 0 ; Revised December 6, 2004 to add support for non-slope coloring ; of strange attractors final: float res=0 float lowtrap=abs(round(real(@itrap)*#maxiter)) float hightrap=abs(round(imag(@itrap)*#maxiter)) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF IF (@trapsum == true) lowtrap=real(@itrap) hightrap=imag(@itrap) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF ENDIF complex t = 0 float tII = 0 complex z1 = 0 float vz = -sqrt(1-|#z|) ; extract implied portion of normal float d2r = #pi/180; degrees to radians conversion factor float t1x = 0 float t2x = 0 float t3x = 0 float t1y = 0 float t2y = 0 float t3y = 0 float e1 = 0 float e2 = 0 float e3 = 0 float tx = 0 float ty = 0 float tz = 0 float td = 0 complex w = 0 complex ww = 0 complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 int i = 7 ; light origin float lpointx = @lpointx float lpointy = @lpointy float lpointz = @lplane ; light point at float lightx = @lightx float lighty = @lighty float lightz = @lightz ; create vector for light direction float lx = cos(@angle*d2r) * cos(@elevation*d2r) float ly = sin(@angle*d2r) * cos(@elevation*d2r) float lz = -sin(@elevation*d2r) ; light vector float lx = 0 float ly = 0 float lz = 0 if @ltype == "Infinite light" lx = cos(@angle*d2r) * cos(@elevation*d2r) ly = sin(@angle*d2r) * cos(@elevation*d2r) lz = -sin(@elevation*d2r) else lx = lightx-lpointx ly = -lighty+lpointy lz = lightz-lpointz endif float vd = sqrt(lx^2+ly^2+lz^2) lx = lx/vd ly = ly/vd lz = lz/vd complex p = #pixel * @nscale * r + @noffset WHILE (i > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 i = i - 1 ENDWHILE float x = 0.0 float y = 0.0 IF @transfer == 0 x = real(#pixel)*100+@fbm*(sum+1) y = imag(#pixel)*100+@fbm*(sum+1) ELSEIF @transfer == 1 x = real(#pixel)*200*(1+@fbm*(sum+1)*0.5) y = imag(#pixel)*200*(1+@fbm*(sum+1)*0.5) ELSEIF @transfer == 2 x = real(#pixel)*200/(1+@fbm*(sum+1)*0.5) y = imag(#pixel)*200/(1+@fbm*(sum+1)*0.5) ELSEIF @transfer == 3 x = real(#pixel)*200+10*log(@fbm*(sum+1)) y = imag(#pixel)*200+10*log(@fbm*(sum+1)) ELSEIF @transfer == 4 x = real(#pixel)*200+50*exp(@fbm*(sum+1)) y = imag(#pixel)*200+50*exp(@fbm*(sum+1)) ELSEIF @transfer == 5 x = real(#pixel)*200+50*(@fbm*(sum+1))*(@fbm*(sum+1)) y = imag(#pixel)*200+50*(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 x = real(#pixel)*200+50*sqrt(@fbm*(sum+1)) y = imag(#pixel)*200+50*sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 x = real(#pixel)*200+50*sin(@fbm*(sum+1)) y = imag(#pixel)*200+50*sin(@fbm*(sum+1)) ELSEIF @transfer == 8 x = real(#pixel)*200+50*asin(@fbm*(sum+1)) y = imag(#pixel)*200+50*asin(@fbm*(sum+1)) ELSEIF @transfer == 9 x = real(#pixel)*200+50*tan(@fbm*(sum+1)) y = imag(#pixel)*200+50*tan(@fbm*(sum+1)) ELSEIF @transfer == 10 x = real(#pixel)*200+50*atan(@fbm*(sum+1)) y = imag(#pixel)*200+50*atan(@fbm*(sum+1)) ENDIF ; create the texture float gridx = @gridx float gridy = @gridy x = x*(1+@blend*real(#z))/(1+@blend)+ real(#random)*@dx y = y*(1+@blend*imag(#z))/(1+@blend)+ imag(#random)*@dy IF @smooth == false IF @texture == 0 ;lattice t1x = sin(x/gridx)+@toffset t1y = cos(y/gridy)+@toffset t2x = t1x+0.00000001 t3x = t1x t2y = t1y t3y = t1y+0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 1 ;quilt t1x = tan(x/gridx)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = cotan(y/gridy)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 2 ;circles and squares t1x = sin(x/gridx)+cos(y/gridy)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = cos(y/gridy)+sin(x/gridx)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 3 ;triangles t1x = tan(x/gridx)+cotan(y/gridy)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = cotan(y/gridy)+tan(x/gridx)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 4 ;X's and O's t1x = 1/sin(x/gridx)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = 1/cos(y/gridy)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 5 ;Dimples t1x = 1/tan(x/gridx)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = 1/cotan(y/gridy)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 6 ;Arrows t1x = 1/tan(x/gridx)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = 1/sin(y/gridy)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 7 ; basketweave t1x = 1/sin(x/gridx)+1/cos(y/gridy)+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = 1/cos(y/gridy)+1/sin(x/gridx)+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 8 ; balls t1x = sin(x/gridx)^2 + cos(y/gridy)^2+@toffset t2x = t1x + 0.00000001 t3x = t1x t1y = sin(y/gridy)^2 + cos(x/gridx)^2+@toffset t2y = t1y t3y = t1y + 0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 9 ;Net t1x = log(abs(sin(x/gridx)))+@toffset t2x = t1x+0.00000001 t3x = t1x t1y = log(abs(cos(y/gridy)))+@toffset t2y = t1y t3y = t1y+0.00000001 e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ENDIF ELSE IF @texture == 0 ;lattice t1x = sin(x/gridx)+1 t2x = sin((x+0.00000001)/gridx)+@toffset t3x = t1x t1y = cos(y/gridy)+1 t2y = t1y t3y = cos((y+0.00000001)/gridy)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 1 ;quilt t1x = tan(x/gridx)+1 t2x = tan((x+0.00000001)/gridx)+@toffset t3x = t1x t1y = cotan(y/gridy)+1 t2y = t1y t3y = cotan((y+0.00000001)/gridy)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 2 ;circles and squares t1x = sin(x/gridx)+cos(y/gridy)+@toffset t2x = sin((x+0.00000001)/gridx)+cos(y/gridy)+@toffset t3x = t1x t1y = cos(y/gridy)+sin(x/gridx)+@toffset t2y = t1y t3y = cos((y+0.00000001)/gridy)+sin(x/gridx)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 3 ;triangles t1x = tan(x/gridx)+cotan(y/gridy)+@toffset t2x = tan((x+0.00000001)/gridx)+cotan(y/gridy)+@toffset t3x = t1x t1y = cotan(y/gridy)+tan(x/gridx)+@toffset t2y = t1y t3y = cotan((y+0.00000001)/gridy)+tan(x/gridx)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 4 ;X's and O's t1x = 1/sin(x/gridx)+@toffset t2x = 1/sin((x+0.00000001)/gridx)+@toffset t3x = t1x t1y = 1/cos(y/gridy)+@toffset t2y = t1y t3y = 1/cos((y+0.00000001)/gridy)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 5 ;Dimples t1x = 1/tan(x/gridx)+@toffset t2x = 1/tan((x+0.00000001)/gridx)+@toffset t3x = t1x t1y = 1/cotan(y/gridy)+@toffset t2y = t1y t3y = 1/cotan((y+0.00000001)/gridy)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 6 ;Arrows t1x = 1/tan(x/gridx)+@toffset t2x = 1/tan((x+0.00000001)/gridx)+@toffset t3x = t1x t1y = 1/sin(y/gridy)+@toffset t2y = t1y t3y = 1/sin((y+0.00000001)/gridy)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 7 ; basketweave t1x = 1/sin((x+0.00000001)/gridx)+1/cos(y/gridy)+@toffset t2x = 1/sin(x/gridx)+1/cos(y/gridy)+@toffset t3x = t1x t1y = 1/cos(y/gridy)+1/sin(x/gridx)+@toffset t2y = t1y t3y = 1/cos((y+0.00000001)/gridy)+1/sin(x/gridx)+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 8 ; balls t1x = sin((x+0.00000001)/gridx)^2 + cos(y/gridy)^2+@toffset t2x = sin(x/gridx)^2 + cos(y/gridy)^2+@toffset t3x = t1x t1y = sin(y/gridy)^2 + cos(x/gridx)^2+@toffset t2y = t1y t3y = sin((y+0.00000001)/gridy)^2 + cos(x/gridx)^2+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ELSEIF @texture == 9 ;net t1x = log(abs(sin(x/gridx)))+1 t2x = log(abs(sin((x+0.00000001)/gridx)))+@toffset t3x = t1x t1y = log(abs(cos(y/gridy)))+1 t2y = t1y t3y = log(abs(cos((y+0.00000001)/gridy)))+@toffset e1 =cabs(t1x+flip(t1y)) e2 =cabs(t2x+flip(t2y)) e3 =cabs(t3x+flip(t3y)) tx = e2 - e1 ty = e3 - e1 tz = -0.00000001/@theight td = 1/sqrt(sqr(tx)+sqr(ty)+sqr(tz)) tx = tx*td ty = ty*td t = tx + flip(ty) ENDIF ENDIF ; add the weighted texture z1 = #z*(1-@weight) + t*@weight ; w = fn2(fn1((fn3(#pixel+@pmix*(abs(real(#z))+flip(abs(imag(#z))))))*10^@pwr))*@ts w = fn2(fn1((fn3(#pixel+@pmix*((real(#z))+flip((imag(#z))))))*10^@pwr))*@ts ww = fn2(fn1((w - round(w)))) + @toffsetII tII = cabs(ww)*@tc tII = (tII - trunc(tII))*@tweight if @noslope == false ; compute cosine of angle between these vectors ; (this is the amount of lighting on the surface) float l = lx*real(z1) + ly*imag(z1) + lz*vz IF (l < @ambient); light is below the ambient level l = @ambient; set it to the ambient level ENDIF IF (@ambient < 0); the ambient level is negative l = l + 1; offset to prevent clipping at 0 ENDIF IF (@trap == true) IF (#numiter>=lowtrap)&&(#numiter<=hightrap) ; Is pixel in trap? #index = l*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII ELSE #solid = true ENDIF ELSEIF (@trapsum == true) float ht = abs(vz) IF (ht>=lowtrap)&&(ht<=hightrap) ; Is pixel in trap? #index = l*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII ELSE #solid = true ENDIF ELSE #index = l*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII ENDIF else float ix = real(#z) float iy = imag(#z) float iz = -sqrt(1-|#z|) float icabs = cabs(#z) if @coloring == "X" #index = ix^(@spread/20)*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII elseif @coloring == "Y" #index = iy^(@spread/20)*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII elseif @coloring == "Z" #index = iz^(@spread/20)*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII elseif @coloring == "Cabs" #index = icabs^(@spread/20)*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+tII endif endif if @solidb == true && cabs(#z) == 0 #solid = true endif default: title = "3D Texturizer Enhanced III" helpfile = "3D Texturizer Enhanced III.chm" $ifdef VER40 heading text = "Use with Slope formulas. Enhanced for alternate coloring \ of slope attractor formulas. The fBm textures are based upon \ the code of Damien Jones." endheading $else heading caption = "Use with Slope formulas" endheading heading caption = "Enhanced for alternate" endheading heading caption = "coloring of slope attractors." endheading $endif param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param trap caption="Use Trap by Iteration" default = false visible=@noslope==false endparam param trapsum caption="Use Trap by Height" default = false visible=@noslope==false endparam param itrap caption="Trap Limits" default=(0.0,1.0) hint="Between 0.0 and 1.0" visible=@noslope==false endparam param solidb caption="Use solid background" default = false endparam param noslope caption ="Use non-slope coloring" default = false endparam param coloring caption = "Coloring method" default = 0 enum = "X" "Y" "Z" "Cabs" visible=@noslope endparam param spread caption = "spread" default = 1.0 visible=@noslope==true endparam heading caption = "Slope Lighting" visible=@noslope==false endheading param ltype caption = "Light type" enum = "Point source" "Infinite light" default = 1 visible=@noslope==false endparam param angle caption = "Light Rotation" default = 120.0 hint = "Gives the rotation of the light source, in degrees." visible=@noslope==false && @ltype == "Infinite light" endparam param elevation caption = "Light Elevation" default = 60.0 hint = "Gives the elevation of the light source, in degrees." visible=@noslope==false && @ltype == "Infinite light" endparam $ifdef VER40 heading text = "Light Origin" visible=@noslope==false && @ltype == "Point source" endheading $else heading caption = " Light Origin" visible=@noslope==false && @ltype == "Point source" endheading $endif float param lpointx caption = " X" default = 1.5 visible=@noslope==false && @ltype == "Point source" endparam float param lpointy caption = " Y" default = 2 visible=@noslope==false && @ltype == "Point source" endparam float param lplane caption = " Z" default = 5 visible=@noslope==false && @ltype == "Point source" endparam $ifdef VER40 heading text = "Light Point At" visible=@noslope==false && @ltype == "Point source" endheading $else heading caption = " Light Point At" visible=@noslope==false && @ltype == "Point source" endheading $endif float param lightx caption = " X" default = 0.0 visible=@noslope==false && @ltype == "Point source" endparam float param lighty caption = " Y" default = 0.0 visible=@noslope==false && @ltype == "Point source" endparam float param lightz caption = " Z" default = 0.0 visible=@noslope==false && @ltype == "Point source" endparam param ambient caption = "Ambient Light" default = 0.0 min = -1.0 max = 1.0 hint = "Specifies the level of ambient light. Use -1.0 to \ color all surfaces." visible=@noslope==false endparam heading caption = "Lattice Textures" visible=@noslope==false endheading param texture caption = "Texture" default = 0 enum = "Lattice" "Quilt" "Circles & Squares" "Triangles" \ "X's & O's" "Dimples" "Arrows" "Basketweave" "Balls" \ "Net" visible=@noslope==false endparam param gridx caption = "Texture X distance" default = 1.0 visible=@noslope==false endparam param gridy caption = "Texture Y distance" default = 1.0 visible=@noslope==false endparam param dx caption = "Texture X randomizer" default = 0.0 visible=@noslope==false endparam param dy caption = "Texture Y randomizer" default = 0.0 visible=@noslope==false endparam param theight caption = "Texture Height" default = 1.0 visible=@noslope==false endparam param weight caption = "Texture Weight" default = 0.0 min = 0.0 max = 1.0 visible=@noslope==false endparam param blend caption = "Texture Blend" default = 0.5 visible=@noslope==false endparam param toffset caption = "Texturizer Offset" default = 1.0 visible=@noslope==false endparam param smooth caption = "Texture Smoothing" default = false hint = "Apply 3D smoothing to the texture" visible=@noslope==false endparam heading caption = "fBm Textures" endheading param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Texture Weight" default = 0.2 endparam param fbmf caption = "fBm Final Weight" default = 0.5 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam heading caption = "General Textures" endheading param toffsetII caption = "Texture II offset" default = (2,2) hint = "Changes the texture pattern." endparam param tweight caption = "Texture II weight" default = 0.0 endparam param ts caption = "Texture II scale" default = 5.0 endparam param tc caption = "Texture II modifier" default = 7.0 endparam param pwr caption = "Texture II power" default = 1e-8 endparam param pmix caption = "Pixel Strange Mix" default = 0.0 endparam func fn3 caption = "Texture II Adjustment" default = sin() endfunc func fn1 caption = "Texture II Function 1" default = sqr() endfunc func fn2 caption = "Texture II Function 2" default = acos() endfunc } Mira_G_Attractor { ; Ron Barnett May 28, 2010 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. ; Formula from the Wolfram Demonstration Project ; Suggested values to try: ; a b ;----------------- ; 0.29 1.0005 ; -0.48 0.93 ; -0.4 0.9999 ; -0.2 1.000 global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01))+@filter,round(#height*(1+@percentInc*0.01))+@filter] int count[round(#width*(1+@percentInc*0.01))+@filter,round(#height*(1+@percentInc*0.01))+@filter] float fx = @initx float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = @inity float fry = 1.0 float ffy = 0.0 float iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.3 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*30000000 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx fx = @b*fy + @a*fx - (1-@a)*2*fx^2/(1+fx^2)^2 fy = -xx + @a*fx - (1-@a)*2*fx^2/(1+fx^2)^2 ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 10*@density*#width*#height*magn^2) xx = fx fx = @b*fy + @a*fx - (1-@a)*2*fx^2/(1+fx^2)^2 fy = -xx + @a*fx - (1-@a)*2*fx^2/(1+fx^2)^2 at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: $ifdef VER40 heading caption="Mira Attractor" endheading heading text="x -> b*y + a*x - (1-a)*2*x^2/(1+x^2)^2" endheading heading text="y -> -x + a*x - (1-a)*2*x^2/(1+x^2)^2" endheading heading text="Use with Pixel formula in jp.ufm, mt.ufm or reb.ufm" endheading $else heading caption="Mira Attractor" endheading heading caption="x -> b*y + a*x - (1-a)*2*x^2/(1+x^2)^2" endheading heading caption="y -> -x + a*x - (1-a)*2*x^2/(1+x^2)^2" endheading heading caption="Use with Pixel formula in jp.ufm, mt.ufm or reb.ufm" endheading $endif title="Mira G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam float param initx caption = "Initial X value" default = 0.1 endparam float param inity caption = "Initial Y value" default = 0.1 endparam float param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam int param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = -.399000001 endparam param b caption = "parameter b" default = 1.000001 endparam } Kaneko_G_Attractor { ; Ron Barnett May 28, 2010 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. ; Suggested values to try: ; a b ;----------------- ; 0.1 1.67 ; 0.5 4.0 ; 0.17 1.3 ; 0.562 2.76 global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01))+@filter,round(#height*(1+@percentInc*0.01))+@filter] int count[round(#width*(1+@percentInc*0.01))+@filter,round(#height*(1+@percentInc*0.01))+@filter] float fx = 0.1 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 0.1 float fry = 1.0 float ffy = 0.0 float iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 1.5 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*1e7 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx if @kantype == "I" fx = @a*fx + (1-@a)*(1-@b*fy^2) else fx = @a*fx + (1-@a)*(1-@b*abs(fy)) endif fy = xx ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 10*@density*#width*#height*magn^2) xx = fx if @kantype == "I" fx = @a*fx + (1-@a)*(1-@b*fy^2) else fx = @a*fx + (1-@a)*(1-@b*abs(fy)) endif fy = xx at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: $ifdef VER40 heading caption="Kaneko Attractor" endheading heading caption=" Type I" endheading heading text="x -> a*x + 1 - a*(1-b*y^2)" endheading heading caption=" Type II" endheading heading text ="x -> a*x + 1 - a*(1-b*abs(y))" endheading heading text="y -> x" endheading $else heading caption="Kaneko Attractor" endheading heading caption="Type I" endheading heading caption="x -> a*x + 1 - a*(1-b*y^2)" endheading heading caption="Type II" endheading heading caption="x -> a*x + 1 - a*(1-b*abs(y))" endheading heading caption="y -> x" endheading heading caption="Use with Pixel formula in jp.ufm, mt.ufm or reb.ufm" endheading $endif title="Kaneko G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param kantype caption = "Kaneko type" default = 0 enum = "I" "II" endparam float param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam int param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = 0.4 endparam param b caption = "parameter b" default = 2.76 endparam } Chip_strange_g_attractor { ; Ron Barnett December 8, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. ; Modified March 2007 to build in the attractor ; magnification factor so that the default magnification ; on the Location tab can be used. The coloring has also ; been changed to make it more independent of the hit density ; and zooms. ; global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.002 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*1e11 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*magn/400))) xx = fx if fx != 0 fx = fy - abs(fx)/fx*cos(sqr(log(abs(@b*fx-@c))))*atan(sqr(log(abs(@b*fx-@c)))) else fx = fy - cos(sqr(log(abs(@b*fx-@c))))*atan(sqr(log(abs(@c*fx-@b)))) endif fy = @a-xx ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 3*@density*#width*#height*#magn^2) xx = fx if fx != 0 fx = fy - abs(fx)/fx*cos(sqr(log(abs(@b*fx-@c))))*atan(sqr(log(abs(@b*fx-@c)))) else fx = fy - cos(sqr(log(abs(@b*fx-@c))))*atan(sqr(log(abs(@c*fx-@b)))) endif fy = @a-xx; at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: heading caption="Chip Attractor" endheading $ifdef VER40 heading text="x -> y - sign(x)*cos(sqr(log(abs(b*x - c)))) \ * atan(sqr(log(abs(c*x - b))))" endheading heading text="y -> a - x" endheading heading text="Use with Pixel formula in mt.ufm or Pixel offset in reb.ufm" endheading $else heading caption="x -> y-sign(x)*cos(sqr(log(abs(b*x - c))))" endheading heading caption=" *atan(sqr(log(abs(c*x - b))))" endheading heading caption="y -> a-x" endheading heading caption="Use with Pixel formula in mt.ufm" endheading heading caption="or Pixel offset in reb.ufm" endheading $endif title="Chip G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false hint = "Set magnification to 0.002" endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = -15.0 endparam param b caption = "parameter b" default = -19.0 endparam param c caption = "parameter c" default = 1.0 endparam } Hopalong_G_Attractor { ; Ron Barnett December 7, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.7 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*10000000 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx if fx != 0 fx = fy - abs(fx)/fx*sqrt(abs(@b*fx-@c)) else fx = fy - sqrt(abs(@b*fx-@c)) endif fy = @a-xx ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 3*@density*#width*#height*magn^2) xx = fx if fx != 0 fx = fy - abs(fx)/fx*sqrt(abs(@b*fx-@c)) else fx = fy - sqrt(abs(@b*fx-@c)) endif fy = @a-xx at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: $ifdef VER40 heading caption="Hopalong Attractor" endheading heading text="x -> y - sign(x)*sqrt(abs(b*x-c))" endheading heading text="y -> a - x" endheading heading text="Use with Pixel formula in mt.ufm or reb.ufm" endheading $else heading caption="Hopalong Attractor" endheading heading caption="x -> y - sign(x)*sqrt(abs(b*x-c))" endheading heading caption="y -> a - x" endheading heading caption="Use with Pixel formula in mt.ufm or reb.ufm" endheading $endif title="Hopalong G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false hint = "Set magnification to 0.3" endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = 0.4 endparam param b caption = "parameter b" default = 1.0 endparam param c caption = "parameter c" default = 0.0 endparam } Kam_Torus_G_Attractor { ; Ron Barnett December 7, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float cx = 0 float cy = 0 cy = imag(#center) cx = real(#center) float txmax = 4.0/#magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 complex at = 0 float orbit = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; iter = 0 while orbit < @orstop while iter < @npoints xx = fx fx = fx*cos(@a) - (fy - fx^2)*sin(@a) fy = xx*sin(@a) + (fy - xx^2)*cos(@a) at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter+1 endwhile orbit = @orstep + orbit fx = orbit/3 fy = orbit/3 iter = 0 endwhile ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount*20 elseif @method == 1 #index=xhit/(5*maxcount) elseif @method == 2 #index=yhit/(5*maxcount) elseif @method == 3 #index=(yhit+xhit)/(10*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(10*maxcount) elseif @method == 5 #index=(xhit*yhit)/(5e4*maxcount) elseif @method == 6 #index=(nhit+xhit)/(5*maxcount) elseif @method == 7 #index=(nhit+yhit)/(5*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(10*maxcount) endif default: heading caption="Kam Torus Attractor" endheading title="Kam Torus Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param filter caption = "Filter Width" default = 0 min = 0 endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam float param a caption = "parameter a" default = 1.57 endparam float param orstep caption = "Orbit Step" default = 0.05 endparam float param orstop caption = "Orbit Stop" default = 1.5 endparam int param npoints caption = "Points per Orbit" default = 1000 endparam } Hopalong_Attractor_New_Martin { ; Ron Barnett August 20, 2010 ; Based upon Hopalong_G_Attractor with Bruce Martin's ; two variable approach which also includes use initialization ; of x and y global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = @fx float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = @fy float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.7 float cx = 0 float cy = 0 cy = imag(#center)/magfactor cx = real(#center)/magfactor float magn = 0 magn = #magn*magfactor float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; iter = 0 int delta = 0 if @Delta == "0" delta = 0 elseif @delta == "1" delta = 1 endif while (iter < 3*@density*#width*#height*magn^2) xx = fx if fx != 0 fx = fy - abs(fx)/fx*sqrt(abs(@Beta*fx-Delta)) else fx = fy - sqrt(abs(@Beta*fx-Delta)) endif fy = @Alpha-xx at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif default: $ifdef VER40 heading caption="Hopalong New Martin Variant" endheading heading text="x -> y - sign(x)*sqrt(abs(Beta*x-Delta))" endheading heading text="y -> Alpha - x" endheading heading text ="Delta takes the value of 0 or 1." endheading heading text = "For a more symmetrical image set the rotation on the Location Tab \ to 22.5 degrees." endheading heading text="Use one of the Pixel formulas for the ufm" endheading $else heading caption="Hopalong New Martin Variant" endheading heading caption="x -> y - sign(x)*sqrt(abs(Beta*x-Delta))" endheading heading caption="y -> Alpha - x" endheading heading caption ="Delta takes the value of 0 or 1." heading caption="Use with Pixel formulas for the ufm" endheading $endif title="Hopalong New Martin Variant" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam float param Alpha caption = "Alpha" default = 0.4 endparam float param Beta caption = "Beta" default = 1.0 endparam param Delta caption = "Delta" enum = "0" "1" default = 0 endparam float param fx caption = "inital x" default = 0.0 endparam float param fy caption = "inital y" default = 0.0 endparam } Tinkerbell_Attractor { ; Ron Barnett September 9, 2010 $define debug global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = @fx float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = @fy float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.7 float cx = 0 float cy = 0 cy = imag(#center)/magfactor cx = real(#center)/magfactor float magn = 0 magn = #magn*magfactor float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; iter = 0 while (iter < 3*@density*#width*#height*magn^2) xx = fx fx = fx^2 - fy^2 + @a*fx + @b*fy fy = 2*xx*fy + @c*xx + @d*fy at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) print(at) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif default: $ifdef VER40 heading caption="Tinkerbell Attractor" endheading heading text="x -> x^2 - y^2 + @a*x + @b*y" endheading heading text="y -> 2*x*y - @c*x + @d*y" endheading heading text="Use one of the Pixel formulas for the ufm" endheading $else heading caption="Tinkerbell Attractor" endheading heading caption="x -> x^2 - y^2 + @a*x + @b*y" endheading heading caption="y -> 2*x*y - @c*x + @d*y" endheading caption="Use with Pixel formulas for the ufm" endheading $endif title="Tinkerbell Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam float param a caption = "parameter a" default = 0.9 endparam float param b caption = "parameter b" default = -0.6013 endparam float param c caption = "parameter c" default = 2.0 endparam float param d caption = "parameter d" default = 0.5 endparam float param fx caption = "inital x" default = -0.72 endparam float param fy caption = "inital y" default = -0.64 endparam } Latoocarfian_strange_g_attractor { ; Ron Barnett December 8, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 1 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*10000000 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx fx = real(@fn1(@b*fy) + @c*@fn2(@b*fx)) fy = real(@fn3(@a*xx) + @d*@fn4(@a*fy)) ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 3*@density*#width*#height*magn^2) xx = fx fx = real(@fn1(@b*fy) + @c*@fn2(@b*fx)) fy = real(@fn3(@a*xx) + @d*@fn4(@a*fy)) at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: heading caption="Latoocarfian Attractor" endheading $ifdef VER40 heading text="x -> sin(b*y) + c*sin(b*x)" endheading heading text="y -> sin(a*x) + d*sin(a*y)" endheading heading text="Use with Pixel formula in mt.ufm or reb.ufm" endheading $else heading caption="x -> sin(b*y) + c*sin(b*x)" endheading heading caption="y -> sin(a*x) + d*sin(a*y)" endheading $endif title="Latoocarfian G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false hint = "Set magnification to 0.01" endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 0.1 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = -0.960918 endparam param b caption = "parameter b" default = 2.879879 endparam param c caption = "parameter c" default = 0.765145 endparam param d caption = "parameter d" default = 0.744728 endparam func fn1 caption = "function 1" default = sin() endfunc func fn2 caption = "function 2" default = sin() endfunc func fn3 caption = "function 3" default = sin() endfunc func fn4 caption = "function 4" default = sin() endfunc } Pickover_G_Attractor { ; Ron Barnett December 6, 2004 ; ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. Corrections made to rotation ; about the z axis. global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] complex hits2[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float ffy = 0.0 float yy = 0 float zz = 0.0 float ffz = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 1 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float tzmax = sqrt(txmax^2+tymax^2) float zmin = sqrt(xmin^2 + ymin^2) float iterate = @density*10000000 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 hits2[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx fx = real(@fn1(@a*fy)) - zz*real(@fn2(@b*fx)) fy = zz*real(@fn3(@c*xx)) - real(@fn4(@d*fy)) zz = real(@fn5(xx)) ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax ffz = (zmin-zz)/sqrt(txmax^2+tymax^2) xx = ffx ; ; rotation around the z axis ; xx = ffx ffx = 0.5 + (ffx - 0.5 - @rotoffx/txmax)*cos(#angle) - \ (ffy - 0.5 - @rotoffy/tymax)*sin(#angle)*#height/#width ffy = 0.5 + (ffy - 0.5 - @rotoffy/tymax)*cos(#angle) + \ (xx - 0.5 - @rotoffx/txmax)*sin(#angle)*#width/#height ; ; rotation around the y axis ; xx = ffx ffx = (0.5 + (ffz - 0.5 - @rotoffz/txmax)*sin(@zangle*pi/180) + \ (ffx - 0.5 - @rotoffx/txmax)*cos(@zangle*pi/180))*#width ffz = (0.5 + (ffz - 0.5 - @rotoffz/tzmax)*cos(@zangle*pi/180) - \ (xx - 0.5 - @rotoffx/txmax)*sin(@zangle*pi/180)) ; ; rotation around the x axis ; yy = ffy ffy = (0.5 + (ffy - 0.5 - @rotoffy/tymax)*cos(@xangle*pi/180) - \ (ffz - 0.5 - @rotoffz/tzmax)*sin(@xangle*pi/180))*#height ffz = (0.5 + (yy - 0.5 - @rotoffy/tymax)*sin(@xangle*pi/180) + \ (ffz - 0.5 - @rotoffz/tzmax)*cos(@xangle*pi/180))*#height/2 ; ; final translation ; ffx = ffx - @transx*#width ffy = ffy - @transy*#height ffz = ffz - @transz*#height/2 ; ; perspective application ; if @useproj ffx = (@cprojx*ffz-ffx*@cprojz)/(ffz-@cprojz) ffy = (@cprojy*ffz-ffy*@cprojz)/(ffz-@cprojz) endif px = trunc(ffx)+wd2 py = trunc(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) hits2[px,py] = hits2[px,py] + 1 + flip(ffz) endif iter = iter + 1 endwhile else iter = 0 while (iter < 3*@density*#width*#height*magn^2) xx = fx fx = real(@fn1(@a*fy)) - zz*real(@fn2(@b*fx)) fy = zz*real(@fn3(@c*xx)) - real(@fn4(@d*fy)) zz = real(@fn5(xx)) ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax ffz = (zmin-zz)/sqrt(txmax^2+tymax^2) xx = ffx ; ; rotation around the z axis ; xx = ffx ffx = 0.5 + (ffx - 0.5 - @rotoffx/txmax)*cos(#angle) - \ (ffy - 0.5 - @rotoffy/tymax)*sin(#angle)*#height/#width ffy = 0.5 + (ffy - 0.5 - @rotoffy/tymax)*cos(#angle) + \ (xx - 0.5 - @rotoffx/txmax)*sin(#angle)*#width/#height ; ; rotation around the y axis ; xx = ffx ffx = (0.5 + (ffz - 0.5 - @rotoffz/txmax)*sin(@zangle*pi/180) + \ (ffx - 0.5 - @rotoffx/txmax)*cos(@zangle*pi/180))*#width ffz = (0.5 + (ffz - 0.5 - @rotoffz/tzmax)*cos(@zangle*pi/180) - \ (xx - 0.5 - @rotoffx/txmax)*sin(@zangle*pi/180)) ; ; rotation around the x axis ; yy = ffy ffy = (0.5 + (ffy - 0.5 - @rotoffy/tymax)*cos(@xangle*pi/180) - \ (ffz - 0.5 - @rotoffz/tzmax)*sin(@xangle*pi/180))*#height ffz = (0.5 + (yy - 0.5 - @rotoffy/tymax)*sin(@xangle*pi/180) + \ (ffz - 0.5 - @rotoffz/tzmax)*cos(@xangle*pi/180))*#height/2 ; ; final translation ; ffx = ffx - @transx*#width ffy = ffy - @transy*#height ffz = ffz - @transz*#height/2 ; ; perspective application ; if @useproj ffx = (@cprojx*ffz-ffx*@cprojz)/(ffz-@cprojz) ffy = (@cprojy*ffz-ffy*@cprojz)/(ffz-@cprojz) endif px = trunc(ffx)+wd2 py = trunc(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) hits2[px,py] = hits2[px,py] + 1 + flip(ffz) if real(hits2[px,py]) > maxcount maxcount = round(real(hits2[px,py])) endif endif iter = iter + 1 endwhile endif ; init: float nhit=0 float xhit=0 float yhit=0 float zhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && real(hits2[xcrd,ycrd]) > @thresh if @filter == 0 nhit=real(hits2[xcrd,ycrd]) xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) zhit=imag(hits2[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 zhit = 0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + gauss[gx+@filter,gy+@filter]*real(hits2[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) zhit = zhit + gauss[gx+@filter,gy+@filter]*imag(hits2[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = nhit/gweight xhit = xhit/gweight yhit = yhit/gweight zhit = zhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((zhit+1)/log(iterate))^@scale elseif @method == 4 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 7 #index=(((xhit+yhit)/(zhit+1)+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 9 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 10 #index=((nhit+zhit+1)/log(iterate))^@scale elseif @method == 11 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=zhit/(100*maxcount) elseif @method == 4 #index=(yhit+xhit)/(200*maxcount) elseif @method == 5 #index=(xhit-yhit)/(200*maxcount) elseif @method == 6 #index=(yhit*xhit)/(1e6*maxcount) elseif @method == 7 #index=(xhit+yhit)/zhit/maxcount elseif @method == 8 #index=(nhit+xhit)/(100*maxcount) elseif @method == 9 #index=(nhit+yhit)/(100*maxcount) elseif @method == 10 #index=(nhit+zhit)/(100*maxcount) elseif @method == 11 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: heading caption="Pickover Attractor" endheading $ifdef VER40 heading text="x -> fn1(a*y) - z*fn2(b*x)" endheading heading text="y -> z*fn3(c*x) - fn4(d*y)" endheading heading text="z -> fn5(x)" endheading heading text="Use with Pixel formula in mt.ufm or reb.ufm" endheading $else heading caption="x -> fn1(a*y) - z*fn2(b*x)" endheading heading caption="y -> z*fn3(c*x) - fn4(d*y)" endheading heading caption="z -> fn5(x)" endheading heading caption="Use with Pixel formula in mt.ufm" endheading $endif title="Pickover G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 0.5 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FZ" "FX+FY" "FX-FY" "FX*FY" "(FX+FY)/FZ" \ "Count+FX" "Count+FY" "Count+FZ" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param xangle caption = "X Axis Rotation" default = 0.0 hint = "This is the fixed (horizontal) Y Axis. It is performed \ after the normal fractal rotation(s) and zooms." endparam param zangle caption = "Y Axis Rotation" default = 0.0 min = 0.0 max = 180.0 hint = "This is the fixed (vertical) Y Axis. It is performed \ after the normal fractal rotation(s) and zooms." endparam param rotoffx caption = "Rotation Center X Offset" default = 0.0 endparam param rotoffy caption = "Rotation Center Y Offset" default = 0.0 endparam param rotoffz caption = "Rotation Center Z Offset" default = 0.0 endparam param useproj caption = "Use Perspective" default = false endparam param cprojx caption = "X Center of Projection" default = 0.0 endparam param cprojy caption = "Y Center of Projection" default = 0.0 endparam param cprojz caption = "Z Center of Projection" default = -100.0 endparam param transx caption = "X Final Translation" default = 0.0 endparam param transy caption = "Y Final Translation" default = 0.0 endparam param transz caption = "Z Final Translation" default = 0.0 endparam param a caption = "parameter a" default = 2.24 endparam param b caption = "parameter b" default = 0.43 endparam param c caption = "parameter c" default = -0.65 endparam param d caption = "parameter d" default = -2.43 endparam func fn1 caption = "function 1" default = sin() endfunc func fn2 caption = "function 2" default = cos() endfunc func fn3 caption = "function 3" default = sin() endfunc func fn4 caption = "function 4" default = cos() endfunc func fn5 caption = "function 5" default = sin() endfunc } Quadruptwo_strange_g_attractor { ; Ron Barnett December 8, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering.; Zoom in to about magn = 0.01 for a good starting point ; global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = .01 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*1e10 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx if fx != 0 fx = fy - abs(fx)/fx*sin(log(abs(@b*fx-@c)))*atan(sqr(log(abs(@c*fx-@b)))) else fx = fy - sin(log(abs(@b*fx-@c)))*atan(sqr(log(abs(@c*fx-@b)))) endif fy = @a-xx ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 3e5*@density*#width*#height*magn^2) xx = fx if fx != 0 fx = fy - abs(fx)/fx*sin(log(abs(@b*fx-@c)))*atan(sqr(log(abs(@c*fx-@b)))) else fx = fy - sin(log(abs(@b*fx-@c)))*atan(sqr(log(abs(@c*fx-@b)))) endif fy = @a-xx at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: heading caption="Quadruptwo Attractor" endheading $ifdef VER40 heading text="x -> y-sign(x)*sin(log(abs(b*x-c))) \" endheading heading text=" *atan(sqr(log(abs(c*x-b))))" endheading heading text="y -> a - x" endheading heading text="Use with Pixel formula in mt.ufm or reb.ufm" endheading $else heading caption="x -> y-sign(x)*sin(log(abs(b*x-c))) \" endheading heading caption=" *atan(sqr(log(abs(c*x-b))))" endheading heading caption="y -> a - x" endheading heading caption="Use with Pixel formula in mt.ufm" endheading $endif title="Quadruptwo G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false hint = "Set magnification to 0.01" endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 0.1 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = 34.0 endparam param b caption = "parameter b" default = 1.0 endparam param c caption = "parameter c" default = 5.0 endparam } Threeply_strange_g_attractor { ; Ron Barnett December 8, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. ; Zoom in to about magn = 0.001 for a good starting point ; global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 1.0 float frx = 1.0 float ffx = 0.0 float xx = 0.0 float fy = 1.0 float fry = 1.0 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float maxcount = 1 ; ; attractor magnification factor ; float magfactor = 0.001 float cx = 0 float cy = 0 if @oldver cy = imag(#center) cx = real(#center) else cy = imag(#center)/magfactor cx = real(#center)/magfactor endif float magn = 0 if @oldver magn = #magn else magn = #magn*magfactor endif float txmax = 4.0/magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*1e11 complex at = 0 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; if @oldver while (iter < (iterate*sqr(#width*#magn/400))) xx = fx if fx != 0 fx = fy - abs(fx)/fx*(abs(sin(fx)*cos(@b)+@c-fx*sin(@a+@b+@c))) else fx = fy - (abs(sin(fx)*cos(@b)+@c-fx*sin(@a+@b+@c))) endif fy = @a-xx ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile else iter = 0 while (iter < 3e6*@density*#width*#height*magn^2) xx = fx if fx != 0 fx = fy - abs(fx)/fx*(abs(sin(fx)*cos(@b)+@c-fx*sin(@a+@b+@c))) else fx = fy - (abs(sin(fx)*cos(@b)+@c-fx*sin(@a+@b+@c))) endif fy = @a-xx at = (fx + flip(fy))*(cos(#angle)-flip(sin(#angle))) frx = real(at) fry = imag(at) ; ; translate values to pixels ; ffx = frx - xmin ffy = fry - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = ffx*#width ffy = ffy*#height px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 if count[px,py] > maxcount maxcount = count[px,py] endif endif iter = iter + 1 endwhile endif ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if @oldver if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif else if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=nhit/maxcount elseif @method == 1 #index=xhit/(100*maxcount) elseif @method == 2 #index=yhit/(100*maxcount) elseif @method == 3 #index=(yhit+xhit)/(200*maxcount) elseif @method == 4 #index=abs(xhit-yhit)/(200*maxcount) elseif @method == 5 #index=(xhit*yhit)/(1e6*maxcount) elseif @method == 6 #index=(nhit+xhit)/(100*maxcount) elseif @method == 7 #index=(nhit+yhit)/(100*maxcount) elseif @method == 8 #index=(nhit+xhit+yhit)/(200*maxcount) endif endif default: heading caption="Threeply Attractor" endheading $ifdef VER40 heading text="x->y-sign(x)*(abs(sin(x)*cos(@b)+@c-" endheading heading text=" x*sin(@a+@b+@c)))" endheading heading text="y->a-x" endheading heading text="Use with Pixel formula in mt.ufm or reb.ufm" endheading $else heading caption="x->y-sign(x)*(abs(sin(x)*cos(@b)+@c-" endheading heading caption=" x*sin(@a+@b+@c)))" endheading heading caption="y->a-x" endheading heading caption="Use with Pixel formula in mt.ufm" endheading $endif title="Threeply G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param oldver caption = "Use old version" default = false hint = "Set magnification to 0.002" endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 1.0 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 visible = @oldver endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = -55.0 endparam param b caption = "parameter b" default = -1.0 endparam param c caption = "parameter c" default = -42.0 endparam } Zito_G_Attractor { ; Ron Barnett December 6, 2004 ; Implements the mapping algorithm of Susan Chambless ; and Gaussian filtering. global: int w = 0 int h = 0 float Inc = @percentInc*0.01 float wd = Inc*#width float ht = Inc*#height int wd2 = round(wd*0.5) int ht2 = round(ht*0.5) complex hits[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] int count[round(#width*(1+@percentInc*0.01)),round(#height*(1+@percentInc*0.01))] float fx = 0.1 float ffx = 0.0 float xx = 0.0 float fy = 0.1 float ffy = 0.0 int iter = 0 int px = 0 int py = 0 float cy = imag(#center) float cx = real(#center) float txmax = 4.0/#magn float tymax = txmax*#height/#width float xmin = cx - txmax/2 float ymin = cy - tymax/2 float iterate = @density*10000000 ; ; initialize hit array ; while(h < #height+wd) while(w < #width+ht) hits[w,h] = 0 count[w,h] = 0 w = w + 1 endwhile w = 0 h = h + 1 endwhile ; ; fill the hit array ; while (iter < (iterate*sqr(#width*#magn/400))) xx = fx fx = fx*fy +@a*fx - fy fy = xx+fy ; ; translate values to pixels ; ffx = fx - xmin ffy = fy - ymin ffy = tymax - ffy ffx = ffx/txmax ffy = ffy/tymax xx = ffx ffx = (0.5*#width + (ffx - 0.5)*cos(#angle)*#width - (ffy - 0.5)*sin(#angle)*#height) ffy = (0.5*#height + (ffy - 0.5)*cos(#angle)*#height + (xx - 0.5)*sin(#angle)*#width) px = round(ffx)+wd2 py = round(ffy)+ht2 if px > 0 && py > 0 && px < #width+wd && py < #height+ht hits[px,py] = hits[px,py]+ffx+flip(ffy) count[px,py] = count[px,py] + 1 endif iter = iter + 1 endwhile ; init: int nhit=0 float xhit=0 float yhit=0 float r = 2/log(20)*@filter^2 float gauss[2*@filter+1,2*@filter+1] float gweight = 0 int gx = 0 int gy = 0 float a = 0 loop: final: int xcrd = #x int ycrd = #y bool inside = true ; create the filter array and weight ; gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter a = (gx^2 + gy^2)/r gauss[gx+@filter,gy+@filter] = exp(-a) gweight = gweight + gauss[gx+@filter,gy+@filter] gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile ; if @applymapping==true ; generate the x and y location in the image float dxx = (real(#pixel)-real(#center))*(#width)/4*#magn float dyy = (imag(#pixel)-imag(#center))*(#width)/4*#magn float transx = (#width+wd)*0.5; float transy = (#height+ht)*0.5; float cosan = cos(#angle); float sinan = sin(#angle); xcrd = round((transx + (dxx*cosan + dyy*sinan))) ycrd = round((transy + (dxx*sinan - dyy*cosan))) ; is this in our image? if (xcrd+wd2<0 || xcrd>=#width+wd2 || ycrd+ht2<0 || ycrd>=#height+ht2) inside = false endif endif if inside == true && count[xcrd,ycrd] > @thresh if @filter == 0 nhit=count[xcrd,ycrd] xhit=real(hits[xcrd,ycrd]) yhit=imag(hits[xcrd,ycrd]) else ; apply the Gaussian filter nhit=0 xhit=0 yhit=0 gx = -@filter gy = -@filter while gy <= @filter while gx <= @filter nhit = nhit + round(gauss[gx+@filter,gy+@filter]*count[xcrd+gx,ycrd+gy]) xhit = xhit + gauss[gx+@filter,gy+@filter]*real(hits[xcrd+gx,ycrd+gy]) yhit = yhit + gauss[gx+@filter,gy+@filter]*imag(hits[xcrd+gx,ycrd+gy]) gx = gx + 1 endwhile gx = -@filter gy = gy + 1 endwhile nhit = round(nhit/gweight) xhit = xhit/gweight yhit = yhit/gweight endif else #solid=true endif if((nhit==0)&&(@solid==true)) #solid=true elseif @method == 0 #index=((nhit+1)/log(iterate))^@scale elseif @method == 1 #index=((xhit+1)/log(iterate))^@scale elseif @method == 2 #index=((yhit+1)/log(iterate))^@scale elseif @method == 3 #index=((yhit+xhit+1)/log(iterate))^@scale elseif @method == 4 #index=((xhit-yhit+1)/log(iterate))^@scale elseif @method == 5 #index=((xhit*yhit+1)/log(iterate))^@scale elseif @method == 6 #index=((nhit+xhit+1)/log(iterate))^@scale elseif @method == 7 #index=((nhit+yhit+1)/log(iterate))^@scale elseif @method == 8 #index=((nhit+xhit+yhit+1)/log(iterate))^@scale endif default: heading caption="Zito Attractor" endheading heading caption="x -> x*y + a*x - y" endheading heading caption="y -> x + y" endheading heading caption="Use with Pixel formula in mt.ufm" endheading heading caption="Set drawing method to one-pass" endheading title="Zito G Attractor" render=false param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam param solid caption="solid background?" default=true endparam param applyMapping caption = "Apply Mapping" default = false endparam param percentInc caption = "Oversize by (%)" default = 0.0 visible = @applyMapping == true endparam param density caption = "Hit Density" default = 0.1 hint = "Coloring density for the strange attractor." endparam param filter caption = "Filter Width" default = 1 min = 0 endparam param scale caption = "Color Scaling" default = 0.2 endparam param method caption = "Coloring Method" enum = "Count" "FX" "FY" "FX+FY" "FX-FY" "FX*FY" "Count+FX" "Count+FY" "Count+FX+FY" default = 0 endparam param thresh caption = "Hit Threshold" default = 0.0 endparam param a caption = "parameter a" default = 0.357057 endparam } exp_flower2a_texture { ; Ron Barnett, October 2003 global: float X[101,101] X[1,1]=0.471,X[2,1]=0.475,X[3,1]=0.388,X[4,1]=0.247,X[5,1]=0.235,X[6,1]=0.388,X[7,1]=0.694,X[8,1]=0.804,X[9,1]=0.498,X[10,1]=0.220,X[11,1]=0.376,X[12,1]=0.682,X[13,1]=0.843,X[14,1]=0.675,X[15,1]=0.510,X[16,1]=0.412,X[17,1]=0.529,X[18,1]=0.820,X[19,1]=0.824,X[20,1]=0.663,X[21,1]=0.525,X[22,1]=0.498,X[23,1]=0.510,X[24,1]=0.549,X[25,1]=0.502,X[26,1]=0.478,X[27,1]=0.494,X[28,1]=0.412,X[29,1]=0.482,X[30,1]=0.494,X[31,1]=0.569,X[32,1]=0.541,X[33,1]=0.282,X[34,1]=0.094,X[35,1]=0.420,X[36,1]=0.765,X[37,1]=0.580,X[38,1]=0.447,X[39,1]=0.486,X[40,1]=0.467,X[41,1]=0.490,X[42,1]=0.451,X[43,1]=0.329,X[44,1]=0.443,X[45,1]=0.282,X[46,1]=0.353,X[47,1]=0.369,X[48,1]=0.384,X[49,1]=0.486,X[50,1]=0.494 X[51,1]=0.529,X[52,1]=0.537,X[53,1]=0.502,X[54,1]=0.447,X[55,1]=0.498,X[56,1]=0.506,X[57,1]=0.490,X[58,1]=0.498,X[59,1]=0.529,X[60,1]=0.471,X[61,1]=0.502,X[62,1]=0.592,X[63,1]=0.549,X[64,1]=0.561,X[65,1]=0.502,X[66,1]=0.333,X[67,1]=0.114,X[68,1]=0.314,X[69,1]=0.655,X[70,1]=0.588,X[71,1]=0.486,X[72,1]=0.510,X[73,1]=0.510,X[74,1]=0.439,X[75,1]=0.396,X[76,1]=0.392,X[77,1]=0.369,X[78,1]=0.251,X[79,1]=0.180,X[80,1]=0.310,X[81,1]=0.573,X[82,1]=0.565,X[83,1]=0.573,X[84,1]=0.733,X[85,1]=0.686,X[86,1]=0.541,X[87,1]=0.322,X[88,1]=0.329,X[89,1]=0.482,X[90,1]=0.522,X[91,1]=0.537,X[92,1]=0.510,X[93,1]=0.447,X[94,1]=0.384,X[95,1]=0.459,X[96,1]=0.573,X[97,1]=0.549,X[98,1]=0.506,X[99,1]=0.510,X[100,1]=0.502 X[1,2]=0.482,X[2,2]=0.486,X[3,2]=0.337,X[4,2]=0.220,X[5,2]=0.200,X[6,2]=0.353,X[7,2]=0.675,X[8,2]=0.792,X[9,2]=0.549,X[10,2]=0.388,X[11,2]=0.463,X[12,2]=0.690,X[13,2]=0.851,X[14,2]=0.604,X[15,2]=0.498,X[16,2]=0.600,X[17,2]=0.675,X[18,2]=0.820,X[19,2]=0.839,X[20,2]=0.643,X[21,2]=0.494,X[22,2]=0.514,X[23,2]=0.525,X[24,2]=0.588,X[25,2]=0.541,X[26,2]=0.471,X[27,2]=0.486,X[28,2]=0.416,X[29,2]=0.455,X[30,2]=0.514,X[31,2]=0.631,X[32,2]=0.549,X[33,2]=0.278,X[34,2]=0.149,X[35,2]=0.357,X[36,2]=0.541,X[37,2]=0.525,X[38,2]=0.502,X[39,2]=0.506,X[40,2]=0.533,X[41,2]=0.506,X[42,2]=0.427,X[43,2]=0.380,X[44,2]=0.455,X[45,2]=0.239,X[46,2]=0.333,X[47,2]=0.345,X[48,2]=0.353,X[49,2]=0.502,X[50,2]=0.545 X[51,2]=0.584,X[52,2]=0.498,X[53,2]=0.510,X[54,2]=0.478,X[55,2]=0.498,X[56,2]=0.514,X[57,2]=0.498,X[58,2]=0.486,X[59,2]=0.522,X[60,2]=0.412,X[61,2]=0.506,X[62,2]=0.643,X[63,2]=0.612,X[64,2]=0.569,X[65,2]=0.435,X[66,2]=0.302,X[67,2]=0.161,X[68,2]=0.290,X[69,2]=0.467,X[70,2]=0.514,X[71,2]=0.502,X[72,2]=0.506,X[73,2]=0.494,X[74,2]=0.459,X[75,2]=0.400,X[76,2]=0.392,X[77,2]=0.369,X[78,2]=0.278,X[79,2]=0.290,X[80,2]=0.365,X[81,2]=0.486,X[82,2]=0.506,X[83,2]=0.533,X[84,2]=0.702,X[85,2]=0.761,X[86,2]=0.627,X[87,2]=0.475,X[88,2]=0.424,X[89,2]=0.486,X[90,2]=0.498,X[91,2]=0.549,X[92,2]=0.576,X[93,2]=0.490,X[94,2]=0.329,X[95,2]=0.325,X[96,2]=0.416,X[97,2]=0.486,X[98,2]=0.494,X[99,2]=0.482,X[100,2]=0.545 X[1,3]=0.502,X[2,3]=0.529,X[3,3]=0.451,X[4,3]=0.271,X[5,3]=0.251,X[6,3]=0.286,X[7,3]=0.561,X[8,3]=0.773,X[9,3]=0.533,X[10,3]=0.459,X[11,3]=0.498,X[12,3]=0.655,X[13,3]=0.843,X[14,3]=0.596,X[15,3]=0.510,X[16,3]=0.478,X[17,3]=0.478,X[18,3]=0.675,X[19,3]=0.733,X[20,3]=0.580,X[21,3]=0.569,X[22,3]=0.576,X[23,3]=0.580,X[24,3]=0.573,X[25,3]=0.557,X[26,3]=0.561,X[27,3]=0.525,X[28,3]=0.478,X[29,3]=0.471,X[30,3]=0.471,X[31,3]=0.573,X[32,3]=0.486,X[33,3]=0.388,X[34,3]=0.275,X[35,3]=0.427,X[36,3]=0.541,X[37,3]=0.553,X[38,3]=0.604,X[39,3]=0.494,X[40,3]=0.502,X[41,3]=0.557,X[42,3]=0.435,X[43,3]=0.486,X[44,3]=0.506,X[45,3]=0.459,X[46,3]=0.478,X[47,3]=0.557,X[48,3]=0.545,X[49,3]=0.545,X[50,3]=0.549 X[51,3]=0.596,X[52,3]=0.584,X[53,3]=0.584,X[54,3]=0.573,X[55,3]=0.522,X[56,3]=0.522,X[57,3]=0.522,X[58,3]=0.486,X[59,3]=0.518,X[60,3]=0.537,X[61,3]=0.573,X[62,3]=0.541,X[63,3]=0.522,X[64,3]=0.533,X[65,3]=0.510,X[66,3]=0.482,X[67,3]=0.314,X[68,3]=0.388,X[69,3]=0.506,X[70,3]=0.482,X[71,3]=0.455,X[72,3]=0.502,X[73,3]=0.475,X[74,3]=0.478,X[75,3]=0.522,X[76,3]=0.565,X[77,3]=0.600,X[78,3]=0.549,X[79,3]=0.345,X[80,3]=0.341,X[81,3]=0.349,X[82,3]=0.373,X[83,3]=0.502,X[84,3]=0.592,X[85,3]=0.776,X[86,3]=0.702,X[87,3]=0.541,X[88,3]=0.478,X[89,3]=0.447,X[90,3]=0.510,X[91,3]=0.506,X[92,3]=0.541,X[93,3]=0.561,X[94,3]=0.604,X[95,3]=0.749,X[96,3]=0.788,X[97,3]=0.651,X[98,3]=0.576,X[99,3]=0.627,X[100,3]=0.761 X[1,4]=0.612,X[2,4]=0.616,X[3,4]=0.545,X[4,4]=0.373,X[5,4]=0.235,X[6,4]=0.200,X[7,4]=0.502,X[8,4]=0.608,X[9,4]=0.467,X[10,4]=0.455,X[11,4]=0.510,X[12,4]=0.725,X[13,4]=0.851,X[14,4]=0.545,X[15,4]=0.498,X[16,4]=0.494,X[17,4]=0.455,X[18,4]=0.600,X[19,4]=0.576,X[20,4]=0.549,X[21,4]=0.588,X[22,4]=0.478,X[23,4]=0.455,X[24,4]=0.576,X[25,4]=0.569,X[26,4]=0.529,X[27,4]=0.525,X[28,4]=0.537,X[29,4]=0.424,X[30,4]=0.490,X[31,4]=0.557,X[32,4]=0.478,X[33,4]=0.455,X[34,4]=0.463,X[35,4]=0.471,X[36,4]=0.486,X[37,4]=0.529,X[38,4]=0.502,X[39,4]=0.431,X[40,4]=0.541,X[41,4]=0.678,X[42,4]=0.545,X[43,4]=0.553,X[44,4]=0.588,X[45,4]=0.596,X[46,4]=0.573,X[47,4]=0.522,X[48,4]=0.451,X[49,4]=0.431,X[50,4]=0.565 X[51,4]=0.588,X[52,4]=0.600,X[53,4]=0.584,X[54,4]=0.494,X[55,4]=0.478,X[56,4]=0.490,X[57,4]=0.482,X[58,4]=0.549,X[59,4]=0.525,X[60,4]=0.490,X[61,4]=0.482,X[62,4]=0.545,X[63,4]=0.722,X[64,4]=0.753,X[65,4]=0.667,X[66,4]=0.541,X[67,4]=0.522,X[68,4]=0.498,X[69,4]=0.525,X[70,4]=0.506,X[71,4]=0.518,X[72,4]=0.502,X[73,4]=0.529,X[74,4]=0.494,X[75,4]=0.529,X[76,4]=0.549,X[77,4]=0.522,X[78,4]=0.510,X[79,4]=0.420,X[80,4]=0.384,X[81,4]=0.388,X[82,4]=0.408,X[83,4]=0.424,X[84,4]=0.541,X[85,4]=0.663,X[86,4]=0.596,X[87,4]=0.573,X[88,4]=0.553,X[89,4]=0.459,X[90,4]=0.486,X[91,4]=0.482,X[92,4]=0.533,X[93,4]=0.627,X[94,4]=0.757,X[95,4]=0.812,X[96,4]=0.859,X[97,4]=0.878,X[98,4]=0.729,X[99,4]=0.702,X[100,4]=0.761 X[1,5]=0.800,X[2,5]=0.812,X[3,5]=0.722,X[4,5]=0.588,X[5,5]=0.392,X[6,5]=0.235,X[7,5]=0.525,X[8,5]=0.631,X[9,5]=0.451,X[10,5]=0.467,X[11,5]=0.518,X[12,5]=0.710,X[13,5]=0.651,X[14,5]=0.494,X[15,5]=0.561,X[16,5]=0.502,X[17,5]=0.506,X[18,5]=0.482,X[19,5]=0.447,X[20,5]=0.506,X[21,5]=0.596,X[22,5]=0.557,X[23,5]=0.471,X[24,5]=0.443,X[25,5]=0.475,X[26,5]=0.490,X[27,5]=0.604,X[28,5]=0.882,X[29,5]=0.533,X[30,5]=0.729,X[31,5]=0.722,X[32,5]=0.561,X[33,5]=0.486,X[34,5]=0.471,X[35,5]=0.388,X[36,5]=0.467,X[37,5]=0.533,X[38,5]=0.557,X[39,5]=0.502,X[40,5]=0.620,X[41,5]=0.765,X[42,5]=0.604,X[43,5]=0.573,X[44,5]=0.573,X[45,5]=0.518,X[46,5]=0.486,X[47,5]=0.443,X[48,5]=0.424,X[49,5]=0.427,X[50,5]=0.471 X[51,5]=0.471,X[52,5]=0.514,X[53,5]=0.494,X[54,5]=0.451,X[55,5]=0.467,X[56,5]=0.478,X[57,5]=0.427,X[58,5]=0.435,X[59,5]=0.467,X[60,5]=0.443,X[61,5]=0.498,X[62,5]=0.824,X[63,5]=0.922,X[64,5]=0.812,X[65,5]=0.835,X[66,5]=0.718,X[67,5]=0.694,X[68,5]=0.592,X[69,5]=0.596,X[70,5]=0.620,X[71,5]=0.647,X[72,5]=0.549,X[73,5]=0.486,X[74,5]=0.478,X[75,5]=0.424,X[76,5]=0.376,X[77,5]=0.329,X[78,5]=0.392,X[79,5]=0.467,X[80,5]=0.502,X[81,5]=0.471,X[82,5]=0.467,X[83,5]=0.435,X[84,5]=0.490,X[85,5]=0.588,X[86,5]=0.510,X[87,5]=0.573,X[88,5]=0.514,X[89,5]=0.494,X[90,5]=0.486,X[91,5]=0.486,X[92,5]=0.475,X[93,5]=0.392,X[94,5]=0.392,X[95,5]=0.608,X[96,5]=0.753,X[97,5]=0.761,X[98,5]=0.596,X[99,5]=0.651,X[100,5]=0.749 X[1,6]=0.671,X[2,6]=0.678,X[3,6]=0.769,X[4,6]=0.784,X[5,6]=0.604,X[6,6]=0.463,X[7,6]=0.514,X[8,6]=0.639,X[9,6]=0.506,X[10,6]=0.490,X[11,6]=0.502,X[12,6]=0.549,X[13,6]=0.506,X[14,6]=0.506,X[15,6]=0.561,X[16,6]=0.533,X[17,6]=0.584,X[18,6]=0.537,X[19,6]=0.612,X[20,6]=0.761,X[21,6]=0.843,X[22,6]=0.780,X[23,6]=0.686,X[24,6]=0.569,X[25,6]=0.545,X[26,6]=0.471,X[27,6]=0.565,X[28,6]=0.863,X[29,6]=0.698,X[30,6]=0.812,X[31,6]=0.859,X[32,6]=0.576,X[33,6]=0.467,X[34,6]=0.427,X[35,6]=0.424,X[36,6]=0.502,X[37,6]=0.506,X[38,6]=0.522,X[39,6]=0.522,X[40,6]=0.671,X[41,6]=0.788,X[42,6]=0.714,X[43,6]=0.627,X[44,6]=0.506,X[45,6]=0.463,X[46,6]=0.494,X[47,6]=0.502,X[48,6]=0.447,X[49,6]=0.392,X[50,6]=0.392 X[51,6]=0.416,X[52,6]=0.506,X[53,6]=0.525,X[54,6]=0.522,X[55,6]=0.518,X[56,6]=0.431,X[57,6]=0.392,X[58,6]=0.427,X[59,6]=0.447,X[60,6]=0.502,X[61,6]=0.439,X[62,6]=0.545,X[63,6]=0.663,X[64,6]=0.835,X[65,6]=0.859,X[66,6]=0.890,X[67,6]=0.694,X[68,6]=0.506,X[69,6]=0.557,X[70,6]=0.580,X[71,6]=0.471,X[72,6]=0.475,X[73,6]=0.455,X[74,6]=0.416,X[75,6]=0.349,X[76,6]=0.337,X[77,6]=0.298,X[78,6]=0.302,X[79,6]=0.318,X[80,6]=0.290,X[81,6]=0.275,X[82,6]=0.314,X[83,6]=0.325,X[84,6]=0.467,X[85,6]=0.510,X[86,6]=0.427,X[87,6]=0.518,X[88,6]=0.490,X[89,6]=0.494,X[90,6]=0.439,X[91,6]=0.431,X[92,6]=0.502,X[93,6]=0.463,X[94,6]=0.263,X[95,6]=0.184,X[96,6]=0.349,X[97,6]=0.431,X[98,6]=0.357,X[99,6]=0.580,X[100,6]=0.643 X[1,7]=0.412,X[2,7]=0.463,X[3,7]=0.600,X[4,7]=0.729,X[5,7]=0.506,X[6,7]=0.392,X[7,7]=0.494,X[8,7]=0.545,X[9,7]=0.522,X[10,7]=0.459,X[11,7]=0.463,X[12,7]=0.463,X[13,7]=0.459,X[14,7]=0.459,X[15,7]=0.529,X[16,7]=0.749,X[17,7]=0.776,X[18,7]=0.675,X[19,7]=0.631,X[20,7]=0.714,X[21,7]=0.773,X[22,7]=0.816,X[23,7]=0.808,X[24,7]=0.690,X[25,7]=0.612,X[26,7]=0.463,X[27,7]=0.624,X[28,7]=0.651,X[29,7]=0.694,X[30,7]=0.769,X[31,7]=0.667,X[32,7]=0.596,X[33,7]=0.635,X[34,7]=0.482,X[35,7]=0.541,X[36,7]=0.486,X[37,7]=0.455,X[38,7]=0.427,X[39,7]=0.310,X[40,7]=0.675,X[41,7]=0.812,X[42,7]=0.694,X[43,7]=0.690,X[44,7]=0.596,X[45,7]=0.549,X[46,7]=0.518,X[47,7]=0.455,X[48,7]=0.427,X[49,7]=0.424,X[50,7]=0.420 X[51,7]=0.478,X[52,7]=0.537,X[53,7]=0.486,X[54,7]=0.486,X[55,7]=0.494,X[56,7]=0.435,X[57,7]=0.431,X[58,7]=0.482,X[59,7]=0.459,X[60,7]=0.447,X[61,7]=0.447,X[62,7]=0.404,X[63,7]=0.502,X[64,7]=0.690,X[65,7]=0.714,X[66,7]=0.722,X[67,7]=0.612,X[68,7]=0.553,X[69,7]=0.459,X[70,7]=0.494,X[71,7]=0.482,X[72,7]=0.475,X[73,7]=0.580,X[74,7]=0.486,X[75,7]=0.400,X[76,7]=0.318,X[77,7]=0.286,X[78,7]=0.216,X[79,7]=0.216,X[80,7]=0.200,X[81,7]=0.169,X[82,7]=0.188,X[83,7]=0.259,X[84,7]=0.451,X[85,7]=0.439,X[86,7]=0.388,X[87,7]=0.435,X[88,7]=0.498,X[89,7]=0.490,X[90,7]=0.412,X[91,7]=0.392,X[92,7]=0.600,X[93,7]=0.573,X[94,7]=0.486,X[95,7]=0.208,X[96,7]=0.141,X[97,7]=0.231,X[98,7]=0.173,X[99,7]=0.408,X[100,7]=0.282 X[1,8]=0.384,X[2,8]=0.349,X[3,8]=0.380,X[4,8]=0.478,X[5,8]=0.478,X[6,8]=0.345,X[7,8]=0.384,X[8,8]=0.447,X[9,8]=0.502,X[10,8]=0.494,X[11,8]=0.345,X[12,8]=0.322,X[13,8]=0.388,X[14,8]=0.486,X[15,8]=0.647,X[16,8]=0.741,X[17,8]=0.616,X[18,8]=0.510,X[19,8]=0.471,X[20,8]=0.486,X[21,8]=0.592,X[22,8]=0.784,X[23,8]=0.702,X[24,8]=0.490,X[25,8]=0.451,X[26,8]=0.310,X[27,8]=0.612,X[28,8]=0.451,X[29,8]=0.345,X[30,8]=0.745,X[31,8]=0.855,X[32,8]=0.882,X[33,8]=0.737,X[34,8]=0.537,X[35,8]=0.612,X[36,8]=0.518,X[37,8]=0.376,X[38,8]=0.318,X[39,8]=0.239,X[40,8]=0.498,X[41,8]=0.545,X[42,8]=0.616,X[43,8]=0.573,X[44,8]=0.494,X[45,8]=0.490,X[46,8]=0.522,X[47,8]=0.537,X[48,8]=0.537,X[49,8]=0.522,X[50,8]=0.475 X[51,8]=0.467,X[52,8]=0.494,X[53,8]=0.467,X[54,8]=0.533,X[55,8]=0.486,X[56,8]=0.451,X[57,8]=0.482,X[58,8]=0.400,X[59,8]=0.361,X[60,8]=0.298,X[61,8]=0.427,X[62,8]=0.455,X[63,8]=0.416,X[64,8]=0.365,X[65,8]=0.635,X[66,8]=0.839,X[67,8]=0.749,X[68,8]=0.725,X[69,8]=0.600,X[70,8]=0.471,X[71,8]=0.490,X[72,8]=0.533,X[73,8]=0.561,X[74,8]=0.494,X[75,8]=0.506,X[76,8]=0.459,X[77,8]=0.451,X[78,8]=0.502,X[79,8]=0.525,X[80,8]=0.404,X[81,8]=0.263,X[82,8]=0.278,X[83,8]=0.353,X[84,8]=0.502,X[85,8]=0.518,X[86,8]=0.325,X[87,8]=0.357,X[88,8]=0.561,X[89,8]=0.600,X[90,8]=0.467,X[91,8]=0.306,X[92,8]=0.592,X[93,8]=0.804,X[94,8]=0.792,X[95,8]=0.655,X[96,8]=0.431,X[97,8]=0.267,X[98,8]=0.220,X[99,8]=0.353,X[100,8]=0.298 X[1,9]=0.373,X[2,9]=0.333,X[3,9]=0.275,X[4,9]=0.310,X[5,9]=0.388,X[6,9]=0.478,X[7,9]=0.478,X[8,9]=0.584,X[9,9]=0.569,X[10,9]=0.525,X[11,9]=0.310,X[12,9]=0.259,X[13,9]=0.361,X[14,9]=0.502,X[15,9]=0.533,X[16,9]=0.522,X[17,9]=0.490,X[18,9]=0.471,X[19,9]=0.502,X[20,9]=0.525,X[21,9]=0.518,X[22,9]=0.529,X[23,9]=0.369,X[24,9]=0.165,X[25,9]=0.314,X[26,9]=0.239,X[27,9]=0.376,X[28,9]=0.412,X[29,9]=0.435,X[30,9]=0.678,X[31,9]=0.804,X[32,9]=0.753,X[33,9]=0.490,X[34,9]=0.463,X[35,9]=0.573,X[36,9]=0.576,X[37,9]=0.478,X[38,9]=0.216,X[39,9]=0.169,X[40,9]=0.380,X[41,9]=0.329,X[42,9]=0.529,X[43,9]=0.533,X[44,9]=0.439,X[45,9]=0.561,X[46,9]=0.584,X[47,9]=0.541,X[48,9]=0.514,X[49,9]=0.510,X[50,9]=0.467 X[51,9]=0.510,X[52,9]=0.518,X[53,9]=0.510,X[54,9]=0.514,X[55,9]=0.463,X[56,9]=0.502,X[57,9]=0.502,X[58,9]=0.157,X[59,9]=0.086,X[60,9]=0.239,X[61,9]=0.290,X[62,9]=0.459,X[63,9]=0.345,X[64,9]=0.353,X[65,9]=0.678,X[66,9]=0.765,X[67,9]=0.753,X[68,9]=0.588,X[69,9]=0.533,X[70,9]=0.502,X[71,9]=0.380,X[72,9]=0.482,X[73,9]=0.498,X[74,9]=0.478,X[75,9]=0.451,X[76,9]=0.553,X[77,9]=0.627,X[78,9]=0.635,X[79,9]=0.569,X[80,9]=0.498,X[81,9]=0.325,X[82,9]=0.337,X[83,9]=0.435,X[84,9]=0.604,X[85,9]=0.549,X[86,9]=0.184,X[87,9]=0.310,X[88,9]=0.561,X[89,9]=0.702,X[90,9]=0.549,X[91,9]=0.251,X[92,9]=0.224,X[93,9]=0.651,X[94,9]=0.847,X[95,9]=0.859,X[96,9]=0.620,X[97,9]=0.294,X[98,9]=0.388,X[99,9]=0.486,X[100,9]=0.647 X[1,10]=0.439,X[2,10]=0.408,X[3,10]=0.318,X[4,10]=0.310,X[5,10]=0.392,X[6,10]=0.627,X[7,10]=0.592,X[8,10]=0.627,X[9,10]=0.698,X[10,10]=0.612,X[11,10]=0.467,X[12,10]=0.353,X[13,10]=0.384,X[14,10]=0.475,X[15,10]=0.510,X[16,10]=0.561,X[17,10]=0.541,X[18,10]=0.463,X[19,10]=0.392,X[20,10]=0.275,X[21,10]=0.263,X[22,10]=0.478,X[23,10]=0.533,X[24,10]=0.322,X[25,10]=0.208,X[26,10]=0.522,X[27,10]=0.631,X[28,10]=0.522,X[29,10]=0.510,X[30,10]=0.529,X[31,10]=0.549,X[32,10]=0.694,X[33,10]=0.557,X[34,10]=0.439,X[35,10]=0.427,X[36,10]=0.486,X[37,10]=0.490,X[38,10]=0.224,X[39,10]=0.196,X[40,10]=0.259,X[41,10]=0.404,X[42,10]=0.514,X[43,10]=0.561,X[44,10]=0.537,X[45,10]=0.557,X[46,10]=0.537,X[47,10]=0.541,X[48,10]=0.545,X[49,10]=0.580,X[50,10]=0.573 X[51,10]=0.580,X[52,10]=0.533,X[53,10]=0.604,X[54,10]=0.580,X[55,10]=0.518,X[56,10]=0.549,X[57,10]=0.557,X[58,10]=0.388,X[59,10]=0.157,X[60,10]=0.302,X[61,10]=0.576,X[62,10]=0.580,X[63,10]=0.502,X[64,10]=0.463,X[65,10]=0.596,X[66,10]=0.580,X[67,10]=0.702,X[68,10]=0.757,X[69,10]=0.522,X[70,10]=0.525,X[71,10]=0.510,X[72,10]=0.545,X[73,10]=0.478,X[74,10]=0.514,X[75,10]=0.486,X[76,10]=0.467,X[77,10]=0.506,X[78,10]=0.537,X[79,10]=0.475,X[80,10]=0.376,X[81,10]=0.282,X[82,10]=0.337,X[83,10]=0.424,X[84,10]=0.635,X[85,10]=0.427,X[86,10]=0.251,X[87,10]=0.290,X[88,10]=0.459,X[89,10]=0.722,X[90,10]=0.659,X[91,10]=0.286,X[92,10]=0.137,X[93,10]=0.459,X[94,10]=0.757,X[95,10]=0.835,X[96,10]=0.643,X[97,10]=0.510,X[98,10]=0.639,X[99,10]=0.745,X[100,10]=0.820 X[1,11]=0.576,X[2,11]=0.537,X[3,11]=0.482,X[4,11]=0.376,X[5,11]=0.373,X[6,11]=0.435,X[7,11]=0.463,X[8,11]=0.545,X[9,11]=0.694,X[10,11]=0.780,X[11,11]=0.647,X[12,11]=0.478,X[13,11]=0.439,X[14,11]=0.502,X[15,11]=0.510,X[16,11]=0.545,X[17,11]=0.565,X[18,11]=0.467,X[19,11]=0.392,X[20,11]=0.494,X[21,11]=0.522,X[22,11]=0.478,X[23,11]=0.475,X[24,11]=0.463,X[25,11]=0.286,X[26,11]=0.427,X[27,11]=0.624,X[28,11]=0.573,X[29,11]=0.384,X[30,11]=0.643,X[31,11]=0.835,X[32,11]=0.580,X[33,11]=0.475,X[34,11]=0.396,X[35,11]=0.435,X[36,11]=0.506,X[37,11]=0.467,X[38,11]=0.349,X[39,11]=0.435,X[40,11]=0.373,X[41,11]=0.384,X[42,11]=0.565,X[43,11]=0.502,X[44,11]=0.498,X[45,11]=0.557,X[46,11]=0.569,X[47,11]=0.525,X[48,11]=0.541,X[49,11]=0.498,X[50,11]=0.494 X[51,11]=0.561,X[52,11]=0.631,X[53,11]=0.651,X[54,11]=0.557,X[55,11]=0.553,X[56,11]=0.580,X[57,11]=0.580,X[58,11]=0.561,X[59,11]=0.408,X[60,11]=0.310,X[61,11]=0.502,X[62,11]=0.675,X[63,11]=0.502,X[64,11]=0.408,X[65,11]=0.490,X[66,11]=0.800,X[67,11]=0.667,X[68,11]=0.463,X[69,11]=0.486,X[70,11]=0.506,X[71,11]=0.588,X[72,11]=0.612,X[73,11]=0.631,X[74,11]=0.557,X[75,11]=0.431,X[76,11]=0.412,X[77,11]=0.455,X[78,11]=0.486,X[79,11]=0.514,X[80,11]=0.376,X[81,11]=0.204,X[82,11]=0.224,X[83,11]=0.494,X[84,11]=0.663,X[85,11]=0.463,X[86,11]=0.329,X[87,11]=0.239,X[88,11]=0.357,X[89,11]=0.737,X[90,11]=0.851,X[91,11]=0.431,X[92,11]=0.380,X[93,11]=0.463,X[94,11]=0.675,X[95,11]=0.812,X[96,11]=0.631,X[97,11]=0.565,X[98,11]=0.557,X[99,11]=0.608,X[100,11]=0.620 X[1,12]=0.553,X[2,12]=0.565,X[3,12]=0.557,X[4,12]=0.361,X[5,12]=0.337,X[6,12]=0.337,X[7,12]=0.388,X[8,12]=0.486,X[9,12]=0.588,X[10,12]=0.765,X[11,12]=0.678,X[12,12]=0.541,X[13,12]=0.482,X[14,12]=0.459,X[15,12]=0.494,X[16,12]=0.502,X[17,12]=0.545,X[18,12]=0.627,X[19,12]=0.761,X[20,12]=0.804,X[21,12]=0.757,X[22,12]=0.635,X[23,12]=0.549,X[24,12]=0.400,X[25,12]=0.165,X[26,12]=0.141,X[27,12]=0.325,X[28,12]=0.353,X[29,12]=0.376,X[30,12]=0.522,X[31,12]=0.702,X[32,12]=0.737,X[33,12]=0.478,X[34,12]=0.412,X[35,12]=0.447,X[36,12]=0.510,X[37,12]=0.533,X[38,12]=0.522,X[39,12]=0.541,X[40,12]=0.514,X[41,12]=0.424,X[42,12]=0.463,X[43,12]=0.455,X[44,12]=0.443,X[45,12]=0.502,X[46,12]=0.561,X[47,12]=0.420,X[48,12]=0.416,X[49,12]=0.451,X[50,12]=0.463 X[51,12]=0.482,X[52,12]=0.553,X[53,12]=0.529,X[54,12]=0.443,X[55,12]=0.482,X[56,12]=0.600,X[57,12]=0.627,X[58,12]=0.451,X[59,12]=0.180,X[60,12]=0.165,X[61,12]=0.192,X[62,12]=0.439,X[63,12]=0.259,X[64,12]=0.369,X[65,12]=0.384,X[66,12]=0.482,X[67,12]=0.796,X[68,12]=0.498,X[69,12]=0.475,X[70,12]=0.451,X[71,12]=0.514,X[72,12]=0.533,X[73,12]=0.537,X[74,12]=0.475,X[75,12]=0.396,X[76,12]=0.392,X[77,12]=0.514,X[78,12]=0.510,X[79,12]=0.467,X[80,12]=0.459,X[81,12]=0.290,X[82,12]=0.325,X[83,12]=0.624,X[84,12]=0.576,X[85,12]=0.435,X[86,12]=0.255,X[87,12]=0.180,X[88,12]=0.247,X[89,12]=0.639,X[90,12]=0.816,X[91,12]=0.443,X[92,12]=0.431,X[93,12]=0.502,X[94,12]=0.671,X[95,12]=0.780,X[96,12]=0.569,X[97,12]=0.490,X[98,12]=0.455,X[99,12]=0.471,X[100,12]=0.502 X[1,13]=0.455,X[2,13]=0.408,X[3,13]=0.443,X[4,13]=0.431,X[5,13]=0.424,X[6,13]=0.435,X[7,13]=0.435,X[8,13]=0.376,X[9,13]=0.533,X[10,13]=0.631,X[11,13]=0.580,X[12,13]=0.584,X[13,13]=0.525,X[14,13]=0.467,X[15,13]=0.478,X[16,13]=0.471,X[17,13]=0.514,X[18,13]=0.541,X[19,13]=0.671,X[20,13]=0.784,X[21,13]=0.796,X[22,13]=0.796,X[23,13]=0.757,X[24,13]=0.502,X[25,13]=0.478,X[26,13]=0.235,X[27,13]=0.196,X[28,13]=0.086,X[29,13]=0.145,X[30,13]=0.545,X[31,13]=0.537,X[32,13]=0.580,X[33,13]=0.475,X[34,13]=0.486,X[35,13]=0.475,X[36,13]=0.463,X[37,13]=0.506,X[38,13]=0.455,X[39,13]=0.502,X[40,13]=0.455,X[41,13]=0.482,X[42,13]=0.463,X[43,13]=0.435,X[44,13]=0.427,X[45,13]=0.490,X[46,13]=0.498,X[47,13]=0.522,X[48,13]=0.494,X[49,13]=0.447,X[50,13]=0.388 X[51,13]=0.420,X[52,13]=0.427,X[53,13]=0.463,X[54,13]=0.459,X[55,13]=0.471,X[56,13]=0.522,X[57,13]=0.569,X[58,13]=0.396,X[59,13]=0.239,X[60,13]=0.153,X[61,13]=0.114,X[62,13]=0.208,X[63,13]=0.157,X[64,13]=0.184,X[65,13]=0.475,X[66,13]=0.506,X[67,13]=0.588,X[68,13]=0.514,X[69,13]=0.435,X[70,13]=0.404,X[71,13]=0.404,X[72,13]=0.435,X[73,13]=0.537,X[74,13]=0.510,X[75,13]=0.478,X[76,13]=0.471,X[77,13]=0.478,X[78,13]=0.502,X[79,13]=0.522,X[80,13]=0.494,X[81,13]=0.455,X[82,13]=0.643,X[83,13]=0.749,X[84,13]=0.725,X[85,13]=0.702,X[86,13]=0.353,X[87,13]=0.255,X[88,13]=0.290,X[89,13]=0.576,X[90,13]=0.616,X[91,13]=0.420,X[92,13]=0.447,X[93,13]=0.525,X[94,13]=0.714,X[95,13]=0.710,X[96,13]=0.498,X[97,13]=0.510,X[98,13]=0.502,X[99,13]=0.498,X[100,13]=0.337 X[1,14]=0.471,X[2,14]=0.420,X[3,14]=0.494,X[4,14]=0.529,X[5,14]=0.510,X[6,14]=0.412,X[7,14]=0.251,X[8,14]=0.165,X[9,14]=0.475,X[10,14]=0.553,X[11,14]=0.482,X[12,14]=0.549,X[13,14]=0.498,X[14,14]=0.502,X[15,14]=0.518,X[16,14]=0.502,X[17,14]=0.482,X[18,14]=0.408,X[19,14]=0.439,X[20,14]=0.541,X[21,14]=0.647,X[22,14]=0.678,X[23,14]=0.831,X[24,14]=0.780,X[25,14]=0.698,X[26,14]=0.349,X[27,14]=0.243,X[28,14]=0.216,X[29,14]=0.184,X[30,14]=0.243,X[31,14]=0.471,X[32,14]=0.494,X[33,14]=0.490,X[34,14]=0.498,X[35,14]=0.498,X[36,14]=0.486,X[37,14]=0.490,X[38,14]=0.475,X[39,14]=0.502,X[40,14]=0.459,X[41,14]=0.451,X[42,14]=0.459,X[43,14]=0.435,X[44,14]=0.416,X[45,14]=0.518,X[46,14]=0.498,X[47,14]=0.486,X[48,14]=0.624,X[49,14]=0.573,X[50,14]=0.369 X[51,14]=0.451,X[52,14]=0.502,X[53,14]=0.467,X[54,14]=0.443,X[55,14]=0.412,X[56,14]=0.459,X[57,14]=0.482,X[58,14]=0.537,X[59,14]=0.467,X[60,14]=0.196,X[61,14]=0.333,X[62,14]=0.518,X[63,14]=0.392,X[64,14]=0.467,X[65,14]=0.467,X[66,14]=0.506,X[67,14]=0.498,X[68,14]=0.475,X[69,14]=0.435,X[70,14]=0.400,X[71,14]=0.424,X[72,14]=0.498,X[73,14]=0.482,X[74,14]=0.533,X[75,14]=0.506,X[76,14]=0.525,X[77,14]=0.518,X[78,14]=0.408,X[79,14]=0.420,X[80,14]=0.298,X[81,14]=0.322,X[82,14]=0.678,X[83,14]=0.769,X[84,14]=0.800,X[85,14]=0.859,X[86,14]=0.675,X[87,14]=0.545,X[88,14]=0.420,X[89,14]=0.651,X[90,14]=0.667,X[91,14]=0.463,X[92,14]=0.475,X[93,14]=0.533,X[94,14]=0.639,X[95,14]=0.557,X[96,14]=0.514,X[97,14]=0.576,X[98,14]=0.502,X[99,14]=0.518,X[100,14]=0.349 X[1,15]=0.651,X[2,15]=0.596,X[3,15]=0.573,X[4,15]=0.553,X[5,15]=0.537,X[6,15]=0.376,X[7,15]=0.125,X[8,15]=0.220,X[9,15]=0.475,X[10,15]=0.451,X[11,15]=0.435,X[12,15]=0.514,X[13,15]=0.471,X[14,15]=0.506,X[15,15]=0.490,X[16,15]=0.490,X[17,15]=0.518,X[18,15]=0.522,X[19,15]=0.569,X[20,15]=0.463,X[21,15]=0.459,X[22,15]=0.643,X[23,15]=0.686,X[24,15]=0.773,X[25,15]=0.706,X[26,15]=0.678,X[27,15]=0.557,X[28,15]=0.380,X[29,15]=0.451,X[30,15]=0.412,X[31,15]=0.506,X[32,15]=0.545,X[33,15]=0.529,X[34,15]=0.514,X[35,15]=0.494,X[36,15]=0.557,X[37,15]=0.549,X[38,15]=0.525,X[39,15]=0.486,X[40,15]=0.498,X[41,15]=0.471,X[42,15]=0.490,X[43,15]=0.424,X[44,15]=0.471,X[45,15]=0.498,X[46,15]=0.475,X[47,15]=0.561,X[48,15]=0.808,X[49,15]=0.843,X[50,15]=0.659 X[51,15]=0.502,X[52,15]=0.541,X[53,15]=0.525,X[54,15]=0.604,X[55,15]=0.608,X[56,15]=0.537,X[57,15]=0.553,X[58,15]=0.553,X[59,15]=0.573,X[60,15]=0.478,X[61,15]=0.600,X[62,15]=0.824,X[63,15]=0.576,X[64,15]=0.757,X[65,15]=0.686,X[66,15]=0.812,X[67,15]=0.651,X[68,15]=0.502,X[69,15]=0.459,X[70,15]=0.424,X[71,15]=0.443,X[72,15]=0.482,X[73,15]=0.494,X[74,15]=0.541,X[75,15]=0.482,X[76,15]=0.525,X[77,15]=0.533,X[78,15]=0.420,X[79,15]=0.259,X[80,15]=0.145,X[81,15]=0.239,X[82,15]=0.475,X[83,15]=0.420,X[84,15]=0.663,X[85,15]=0.675,X[86,15]=0.620,X[87,15]=0.557,X[88,15]=0.475,X[89,15]=0.604,X[90,15]=0.631,X[91,15]=0.514,X[92,15]=0.486,X[93,15]=0.486,X[94,15]=0.510,X[95,15]=0.482,X[96,15]=0.494,X[97,15]=0.525,X[98,15]=0.596,X[99,15]=0.604,X[100,15]=0.647 X[1,16]=0.553,X[2,16]=0.522,X[3,16]=0.553,X[4,16]=0.702,X[5,16]=0.788,X[6,16]=0.549,X[7,16]=0.216,X[8,16]=0.318,X[9,16]=0.475,X[10,16]=0.439,X[11,16]=0.380,X[12,16]=0.431,X[13,16]=0.471,X[14,16]=0.502,X[15,16]=0.384,X[16,16]=0.392,X[17,16]=0.522,X[18,16]=0.616,X[19,16]=0.525,X[20,16]=0.439,X[21,16]=0.498,X[22,16]=0.376,X[23,16]=0.408,X[24,16]=0.839,X[25,16]=0.945,X[26,16]=0.831,X[27,16]=0.706,X[28,16]=0.553,X[29,16]=0.561,X[30,16]=0.557,X[31,16]=0.529,X[32,16]=0.565,X[33,16]=0.494,X[34,16]=0.565,X[35,16]=0.565,X[36,16]=0.565,X[37,16]=0.584,X[38,16]=0.584,X[39,16]=0.588,X[40,16]=0.565,X[41,16]=0.533,X[42,16]=0.529,X[43,16]=0.471,X[44,16]=0.541,X[45,16]=0.506,X[46,16]=0.353,X[47,16]=0.502,X[48,16]=0.788,X[49,16]=0.831,X[50,16]=0.831 X[51,16]=0.639,X[52,16]=0.553,X[53,16]=0.631,X[54,16]=0.773,X[55,16]=0.827,X[56,16]=0.608,X[57,16]=0.608,X[58,16]=0.682,X[59,16]=0.651,X[60,16]=0.514,X[61,16]=0.565,X[62,16]=0.647,X[63,16]=0.624,X[64,16]=0.784,X[65,16]=0.804,X[66,16]=0.796,X[67,16]=0.639,X[68,16]=0.549,X[69,16]=0.498,X[70,16]=0.482,X[71,16]=0.573,X[72,16]=0.502,X[73,16]=0.518,X[74,16]=0.635,X[75,16]=0.565,X[76,16]=0.565,X[77,16]=0.576,X[78,16]=0.631,X[79,16]=0.514,X[80,16]=0.231,X[81,16]=0.251,X[82,16]=0.427,X[83,16]=0.310,X[84,16]=0.392,X[85,16]=0.424,X[86,16]=0.490,X[87,16]=0.431,X[88,16]=0.365,X[89,16]=0.471,X[90,16]=0.502,X[91,16]=0.494,X[92,16]=0.424,X[93,16]=0.435,X[94,16]=0.416,X[95,16]=0.443,X[96,16]=0.463,X[97,16]=0.600,X[98,16]=0.804,X[99,16]=0.757,X[100,16]=0.737 X[1,17]=0.498,X[2,17]=0.502,X[3,17]=0.588,X[4,17]=0.757,X[5,17]=0.722,X[6,17]=0.443,X[7,17]=0.325,X[8,17]=0.408,X[9,17]=0.541,X[10,17]=0.502,X[11,17]=0.271,X[12,17]=0.376,X[13,17]=0.506,X[14,17]=0.580,X[15,17]=0.427,X[16,17]=0.235,X[17,17]=0.271,X[18,17]=0.518,X[19,17]=0.553,X[20,17]=0.392,X[21,17]=0.416,X[22,17]=0.290,X[23,17]=0.525,X[24,17]=0.780,X[25,17]=0.796,X[26,17]=0.776,X[27,17]=0.584,X[28,17]=0.529,X[29,17]=0.537,X[30,17]=0.506,X[31,17]=0.569,X[32,17]=0.576,X[33,17]=0.557,X[34,17]=0.580,X[35,17]=0.580,X[36,17]=0.569,X[37,17]=0.620,X[38,17]=0.604,X[39,17]=0.557,X[40,17]=0.494,X[41,17]=0.557,X[42,17]=0.502,X[43,17]=0.482,X[44,17]=0.553,X[45,17]=0.435,X[46,17]=0.200,X[47,17]=0.200,X[48,17]=0.561,X[49,17]=0.761,X[50,17]=0.788 X[51,17]=0.663,X[52,17]=0.392,X[53,17]=0.471,X[54,17]=0.733,X[55,17]=0.804,X[56,17]=0.710,X[57,17]=0.525,X[58,17]=0.486,X[59,17]=0.545,X[60,17]=0.455,X[61,17]=0.569,X[62,17]=0.565,X[63,17]=0.584,X[64,17]=0.541,X[65,17]=0.757,X[66,17]=0.792,X[67,17]=0.875,X[68,17]=0.784,X[69,17]=0.529,X[70,17]=0.545,X[71,17]=0.549,X[72,17]=0.467,X[73,17]=0.706,X[74,17]=0.702,X[75,17]=0.533,X[76,17]=0.573,X[77,17]=0.612,X[78,17]=0.596,X[79,17]=0.408,X[80,17]=0.176,X[81,17]=0.341,X[82,17]=0.361,X[83,17]=0.376,X[84,17]=0.408,X[85,17]=0.412,X[86,17]=0.412,X[87,17]=0.412,X[88,17]=0.365,X[89,17]=0.412,X[90,17]=0.471,X[91,17]=0.541,X[92,17]=0.506,X[93,17]=0.318,X[94,17]=0.286,X[95,17]=0.396,X[96,17]=0.553,X[97,17]=0.694,X[98,17]=0.651,X[99,17]=0.518,X[100,17]=0.514 X[1,18]=0.580,X[2,18]=0.537,X[3,18]=0.467,X[4,18]=0.463,X[5,18]=0.486,X[6,18]=0.369,X[7,18]=0.380,X[8,18]=0.455,X[9,18]=0.659,X[10,18]=0.447,X[11,18]=0.247,X[12,18]=0.341,X[13,18]=0.576,X[14,18]=0.694,X[15,18]=0.471,X[16,18]=0.216,X[17,18]=0.239,X[18,18]=0.278,X[19,18]=0.486,X[20,18]=0.686,X[21,18]=0.541,X[22,18]=0.459,X[23,18]=0.498,X[24,18]=0.608,X[25,18]=0.592,X[26,18]=0.714,X[27,18]=0.620,X[28,18]=0.463,X[29,18]=0.439,X[30,18]=0.424,X[31,18]=0.545,X[32,18]=0.525,X[33,18]=0.525,X[34,18]=0.506,X[35,18]=0.471,X[36,18]=0.498,X[37,18]=0.545,X[38,18]=0.494,X[39,18]=0.451,X[40,18]=0.427,X[41,18]=0.522,X[42,18]=0.541,X[43,18]=0.557,X[44,18]=0.565,X[45,18]=0.431,X[46,18]=0.310,X[47,18]=0.212,X[48,18]=0.345,X[49,18]=0.647,X[50,18]=0.773 X[51,18]=0.627,X[52,18]=0.302,X[53,18]=0.404,X[54,18]=0.651,X[55,18]=0.710,X[56,18]=0.608,X[57,18]=0.373,X[58,18]=0.235,X[59,18]=0.616,X[60,18]=0.525,X[61,18]=0.439,X[62,18]=0.447,X[63,18]=0.298,X[64,18]=0.451,X[65,18]=0.820,X[66,18]=0.863,X[67,18]=0.792,X[68,18]=0.675,X[69,18]=0.573,X[70,18]=0.584,X[71,18]=0.612,X[72,18]=0.541,X[73,18]=0.694,X[74,18]=0.710,X[75,18]=0.608,X[76,18]=0.529,X[77,18]=0.541,X[78,18]=0.537,X[79,18]=0.420,X[80,18]=0.224,X[81,18]=0.325,X[82,18]=0.318,X[83,18]=0.306,X[84,18]=0.498,X[85,18]=0.514,X[86,18]=0.369,X[87,18]=0.490,X[88,18]=0.592,X[89,18]=0.561,X[90,18]=0.659,X[91,18]=0.604,X[92,18]=0.522,X[93,18]=0.322,X[94,18]=0.278,X[95,18]=0.392,X[96,18]=0.502,X[97,18]=0.514,X[98,18]=0.522,X[99,18]=0.502,X[100,18]=0.490 X[1,19]=0.431,X[2,19]=0.467,X[3,19]=0.467,X[4,19]=0.416,X[5,19]=0.396,X[6,19]=0.302,X[7,19]=0.333,X[8,19]=0.478,X[9,19]=0.616,X[10,19]=0.361,X[11,19]=0.227,X[12,19]=0.247,X[13,19]=0.522,X[14,19]=0.780,X[15,19]=0.612,X[16,19]=0.196,X[17,19]=0.173,X[18,19]=0.271,X[19,19]=0.318,X[20,19]=0.565,X[21,19]=0.631,X[22,19]=0.384,X[23,19]=0.455,X[24,19]=0.510,X[25,19]=0.847,X[26,19]=0.675,X[27,19]=0.647,X[28,19]=0.514,X[29,19]=0.396,X[30,19]=0.431,X[31,19]=0.455,X[32,19]=0.439,X[33,19]=0.471,X[34,19]=0.475,X[35,19]=0.408,X[36,19]=0.459,X[37,19]=0.502,X[38,19]=0.549,X[39,19]=0.494,X[40,19]=0.490,X[41,19]=0.471,X[42,19]=0.475,X[43,19]=0.557,X[44,19]=0.588,X[45,19]=0.522,X[46,19]=0.310,X[47,19]=0.204,X[48,19]=0.282,X[49,19]=0.553,X[50,19]=0.769 X[51,19]=0.596,X[52,19]=0.439,X[53,19]=0.486,X[54,19]=0.573,X[55,19]=0.800,X[56,19]=0.647,X[57,19]=0.490,X[58,19]=0.369,X[59,19]=0.498,X[60,19]=0.541,X[61,19]=0.537,X[62,19]=0.439,X[63,19]=0.361,X[64,19]=0.541,X[65,19]=0.612,X[66,19]=0.604,X[67,19]=0.808,X[68,19]=0.639,X[69,19]=0.533,X[70,19]=0.522,X[71,19]=0.365,X[72,19]=0.443,X[73,19]=0.792,X[74,19]=0.804,X[75,19]=0.710,X[76,19]=0.667,X[77,19]=0.549,X[78,19]=0.565,X[79,19]=0.506,X[80,19]=0.439,X[81,19]=0.373,X[82,19]=0.298,X[83,19]=0.553,X[84,19]=0.639,X[85,19]=0.604,X[86,19]=0.545,X[87,19]=0.529,X[88,19]=0.592,X[89,19]=0.541,X[90,19]=0.612,X[91,19]=0.725,X[92,19]=0.675,X[93,19]=0.498,X[94,19]=0.376,X[95,19]=0.404,X[96,19]=0.486,X[97,19]=0.506,X[98,19]=0.569,X[99,19]=0.561,X[100,19]=0.475 X[1,20]=0.486,X[2,20]=0.718,X[3,20]=0.651,X[4,20]=0.455,X[5,20]=0.365,X[6,20]=0.333,X[7,20]=0.310,X[8,20]=0.502,X[9,20]=0.631,X[10,20]=0.639,X[11,20]=0.373,X[12,20]=0.180,X[13,20]=0.424,X[14,20]=0.804,X[15,20]=0.773,X[16,20]=0.522,X[17,20]=0.169,X[18,20]=0.133,X[19,20]=0.224,X[20,20]=0.329,X[21,20]=0.459,X[22,20]=0.396,X[23,20]=0.498,X[24,20]=0.349,X[25,20]=0.584,X[26,20]=0.855,X[27,20]=0.914,X[28,20]=0.722,X[29,20]=0.478,X[30,20]=0.400,X[31,20]=0.400,X[32,20]=0.467,X[33,20]=0.482,X[34,20]=0.459,X[35,20]=0.455,X[36,20]=0.533,X[37,20]=0.498,X[38,20]=0.596,X[39,20]=0.522,X[40,20]=0.416,X[41,20]=0.435,X[42,20]=0.467,X[43,20]=0.494,X[44,20]=0.490,X[45,20]=0.502,X[46,20]=0.329,X[47,20]=0.184,X[48,20]=0.224,X[49,20]=0.455,X[50,20]=0.682 X[51,20]=0.514,X[52,20]=0.443,X[53,20]=0.510,X[54,20]=0.584,X[55,20]=0.831,X[56,20]=0.671,X[57,20]=0.502,X[58,20]=0.490,X[59,20]=0.463,X[60,20]=0.573,X[61,20]=0.678,X[62,20]=0.631,X[63,20]=0.459,X[64,20]=0.478,X[65,20]=0.631,X[66,20]=0.698,X[67,20]=0.573,X[68,20]=0.518,X[69,20]=0.408,X[70,20]=0.329,X[71,20]=0.204,X[72,20]=0.290,X[73,20]=0.608,X[74,20]=0.627,X[75,20]=0.549,X[76,20]=0.490,X[77,20]=0.482,X[78,20]=0.541,X[79,20]=0.533,X[80,20]=0.522,X[81,20]=0.439,X[82,20]=0.235,X[83,20]=0.447,X[84,20]=0.573,X[85,20]=0.498,X[86,20]=0.376,X[87,20]=0.369,X[88,20]=0.376,X[89,20]=0.427,X[90,20]=0.525,X[91,20]=0.675,X[92,20]=0.788,X[93,20]=0.643,X[94,20]=0.471,X[95,20]=0.443,X[96,20]=0.490,X[97,20]=0.506,X[98,20]=0.529,X[99,20]=0.525,X[100,20]=0.502 X[1,21]=0.667,X[2,21]=0.839,X[3,21]=0.808,X[4,21]=0.737,X[5,21]=0.490,X[6,21]=0.478,X[7,21]=0.451,X[8,21]=0.604,X[9,21]=0.722,X[10,21]=0.776,X[11,21]=0.592,X[12,21]=0.235,X[13,21]=0.208,X[14,21]=0.694,X[15,21]=0.800,X[16,21]=0.831,X[17,21]=0.506,X[18,21]=0.271,X[19,21]=0.180,X[20,21]=0.341,X[21,21]=0.424,X[22,21]=0.522,X[23,21]=0.365,X[24,21]=0.380,X[25,21]=0.341,X[26,21]=0.706,X[27,21]=0.886,X[28,21]=0.820,X[29,21]=0.584,X[30,21]=0.424,X[31,21]=0.478,X[32,21]=0.647,X[33,21]=0.655,X[34,21]=0.447,X[35,21]=0.682,X[36,21]=0.616,X[37,21]=0.569,X[38,21]=0.824,X[39,21]=0.635,X[40,21]=0.557,X[41,21]=0.502,X[42,21]=0.463,X[43,21]=0.471,X[44,21]=0.502,X[45,21]=0.596,X[46,21]=0.482,X[47,21]=0.243,X[48,21]=0.180,X[49,21]=0.435,X[50,21]=0.600 X[51,21]=0.455,X[52,21]=0.459,X[53,21]=0.502,X[54,21]=0.690,X[55,21]=0.761,X[56,21]=0.525,X[57,21]=0.506,X[58,21]=0.522,X[59,21]=0.463,X[60,21]=0.369,X[61,21]=0.384,X[62,21]=0.525,X[63,21]=0.247,X[64,21]=0.420,X[65,21]=0.369,X[66,21]=0.741,X[67,21]=0.659,X[68,21]=0.494,X[69,21]=0.471,X[70,21]=0.384,X[71,21]=0.165,X[72,21]=0.220,X[73,21]=0.353,X[74,21]=0.353,X[75,21]=0.635,X[76,21]=0.506,X[77,21]=0.443,X[78,21]=0.510,X[79,21]=0.502,X[80,21]=0.475,X[81,21]=0.216,X[82,21]=0.133,X[83,21]=0.192,X[84,21]=0.322,X[85,21]=0.384,X[86,21]=0.361,X[87,21]=0.353,X[88,21]=0.353,X[89,21]=0.404,X[90,21]=0.463,X[91,21]=0.616,X[92,21]=0.737,X[93,21]=0.620,X[94,21]=0.549,X[95,21]=0.498,X[96,21]=0.455,X[97,21]=0.486,X[98,21]=0.502,X[99,21]=0.502,X[100,21]=0.514 X[1,22]=0.596,X[2,22]=0.745,X[3,22]=0.816,X[4,22]=0.792,X[5,22]=0.659,X[6,22]=0.573,X[7,22]=0.616,X[8,22]=0.537,X[9,22]=0.565,X[10,22]=0.761,X[11,22]=0.671,X[12,22]=0.361,X[13,22]=0.133,X[14,22]=0.396,X[15,22]=0.773,X[16,22]=0.878,X[17,22]=0.745,X[18,22]=0.380,X[19,22]=0.247,X[20,22]=0.286,X[21,22]=0.447,X[22,22]=0.745,X[23,22]=0.573,X[24,22]=0.227,X[25,22]=0.243,X[26,22]=0.588,X[27,22]=0.816,X[28,22]=0.855,X[29,22]=0.592,X[30,22]=0.502,X[31,22]=0.784,X[32,22]=0.851,X[33,22]=0.776,X[34,22]=0.537,X[35,22]=0.867,X[36,22]=0.788,X[37,22]=0.725,X[38,22]=0.820,X[39,22]=0.863,X[40,22]=0.745,X[41,22]=0.506,X[42,22]=0.467,X[43,22]=0.525,X[44,22]=0.714,X[45,22]=0.831,X[46,22]=0.761,X[47,22]=0.569,X[48,22]=0.376,X[49,22]=0.463,X[50,22]=0.678 X[51,22]=0.490,X[52,22]=0.471,X[53,22]=0.494,X[54,22]=0.635,X[55,22]=0.592,X[56,22]=0.486,X[57,22]=0.580,X[58,22]=0.502,X[59,22]=0.427,X[60,22]=0.129,X[61,22]=0.220,X[62,22]=0.400,X[63,22]=0.353,X[64,22]=0.475,X[65,22]=0.549,X[66,22]=0.588,X[67,22]=0.612,X[68,22]=0.502,X[69,22]=0.518,X[70,22]=0.463,X[71,22]=0.220,X[72,22]=0.239,X[73,22]=0.337,X[74,22]=0.439,X[75,22]=0.525,X[76,22]=0.569,X[77,22]=0.541,X[78,22]=0.549,X[79,22]=0.600,X[80,22]=0.600,X[81,22]=0.310,X[82,22]=0.294,X[83,22]=0.282,X[84,22]=0.325,X[85,22]=0.420,X[86,22]=0.471,X[87,22]=0.486,X[88,22]=0.482,X[89,22]=0.412,X[90,22]=0.298,X[91,22]=0.525,X[92,22]=0.604,X[93,22]=0.549,X[94,22]=0.580,X[95,22]=0.514,X[96,22]=0.482,X[97,22]=0.490,X[98,22]=0.478,X[99,22]=0.463,X[100,22]=0.416 X[1,23]=0.522,X[2,23]=0.576,X[3,23]=0.706,X[4,23]=0.584,X[5,23]=0.722,X[6,23]=0.702,X[7,23]=0.608,X[8,23]=0.349,X[9,23]=0.325,X[10,23]=0.671,X[11,23]=0.820,X[12,23]=0.580,X[13,23]=0.271,X[14,23]=0.231,X[15,23]=0.631,X[16,23]=0.827,X[17,23]=0.769,X[18,23]=0.435,X[19,23]=0.294,X[20,23]=0.318,X[21,23]=0.514,X[22,23]=0.804,X[23,23]=0.788,X[24,23]=0.380,X[25,23]=0.427,X[26,23]=0.494,X[27,23]=0.729,X[28,23]=0.804,X[29,23]=0.506,X[30,23]=0.471,X[31,23]=0.686,X[32,23]=0.843,X[33,23]=0.631,X[34,23]=0.510,X[35,23]=0.647,X[36,23]=0.608,X[37,23]=0.753,X[38,23]=0.776,X[39,23]=0.792,X[40,23]=0.596,X[41,23]=0.475,X[42,23]=0.525,X[43,23]=0.510,X[44,23]=0.596,X[45,23]=0.749,X[46,23]=0.788,X[47,23]=0.604,X[48,23]=0.471,X[49,23]=0.502,X[50,23]=0.596 X[51,23]=0.537,X[52,23]=0.494,X[53,23]=0.482,X[54,23]=0.486,X[55,23]=0.502,X[56,23]=0.471,X[57,23]=0.525,X[58,23]=0.580,X[59,23]=0.525,X[60,23]=0.341,X[61,23]=0.573,X[62,23]=0.561,X[63,23]=0.643,X[64,23]=0.416,X[65,23]=0.616,X[66,23]=0.678,X[67,23]=0.494,X[68,23]=0.455,X[69,23]=0.478,X[70,23]=0.439,X[71,23]=0.337,X[72,23]=0.392,X[73,23]=0.294,X[74,23]=0.455,X[75,23]=0.545,X[76,23]=0.471,X[77,23]=0.525,X[78,23]=0.600,X[79,23]=0.588,X[80,23]=0.573,X[81,23]=0.502,X[82,23]=0.369,X[83,23]=0.325,X[84,23]=0.306,X[85,23]=0.388,X[86,23]=0.420,X[87,23]=0.388,X[88,23]=0.365,X[89,23]=0.231,X[90,23]=0.212,X[91,23]=0.510,X[92,23]=0.525,X[93,23]=0.475,X[94,23]=0.549,X[95,23]=0.482,X[96,23]=0.506,X[97,23]=0.467,X[98,23]=0.498,X[99,23]=0.498,X[100,23]=0.365 X[1,24]=0.435,X[2,24]=0.373,X[3,24]=0.522,X[4,24]=0.549,X[5,24]=0.435,X[6,24]=0.549,X[7,24]=0.686,X[8,24]=0.518,X[9,24]=0.318,X[10,24]=0.482,X[11,24]=0.839,X[12,24]=0.784,X[13,24]=0.373,X[14,24]=0.373,X[15,24]=0.506,X[16,24]=0.757,X[17,24]=0.714,X[18,24]=0.443,X[19,24]=0.373,X[20,24]=0.439,X[21,24]=0.529,X[22,24]=0.784,X[23,24]=0.702,X[24,24]=0.404,X[25,24]=0.506,X[26,24]=0.498,X[27,24]=0.788,X[28,24]=0.737,X[29,24]=0.376,X[30,24]=0.431,X[31,24]=0.486,X[32,24]=0.741,X[33,24]=0.494,X[34,24]=0.545,X[35,24]=0.576,X[36,24]=0.525,X[37,24]=0.518,X[38,24]=0.663,X[39,24]=0.737,X[40,24]=0.784,X[41,24]=0.725,X[42,24]=0.416,X[43,24]=0.282,X[44,24]=0.345,X[45,24]=0.455,X[46,24]=0.592,X[47,24]=0.549,X[48,24]=0.349,X[49,24]=0.427,X[50,24]=0.486 X[51,24]=0.506,X[52,24]=0.455,X[53,24]=0.416,X[54,24]=0.408,X[55,24]=0.420,X[56,24]=0.459,X[57,24]=0.580,X[58,24]=0.835,X[59,24]=0.725,X[60,24]=0.537,X[61,24]=0.541,X[62,24]=0.494,X[63,24]=0.608,X[64,24]=0.675,X[65,24]=0.722,X[66,24]=0.675,X[67,24]=0.522,X[68,24]=0.533,X[69,24]=0.529,X[70,24]=0.569,X[71,24]=0.545,X[72,24]=0.569,X[73,24]=0.553,X[74,24]=0.478,X[75,24]=0.475,X[76,24]=0.447,X[77,24]=0.439,X[78,24]=0.447,X[79,24]=0.514,X[80,24]=0.502,X[81,24]=0.510,X[82,24]=0.459,X[83,24]=0.380,X[84,24]=0.329,X[85,24]=0.271,X[86,24]=0.231,X[87,24]=0.278,X[88,24]=0.373,X[89,24]=0.220,X[90,24]=0.314,X[91,24]=0.475,X[92,24]=0.431,X[93,24]=0.424,X[94,24]=0.510,X[95,24]=0.478,X[96,24]=0.502,X[97,24]=0.427,X[98,24]=0.490,X[99,24]=0.529,X[100,24]=0.537 X[1,25]=0.173,X[2,25]=0.141,X[3,25]=0.357,X[4,25]=0.412,X[5,25]=0.271,X[6,25]=0.596,X[7,25]=0.745,X[8,25]=0.561,X[9,25]=0.345,X[10,25]=0.365,X[11,25]=0.694,X[12,25]=0.714,X[13,25]=0.408,X[14,25]=0.498,X[15,25]=0.498,X[16,25]=0.745,X[17,25]=0.698,X[18,25]=0.506,X[19,25]=0.451,X[20,25]=0.467,X[21,25]=0.537,X[22,25]=0.757,X[23,25]=0.545,X[24,25]=0.427,X[25,25]=0.510,X[26,25]=0.569,X[27,25]=0.820,X[28,25]=0.635,X[29,25]=0.451,X[30,25]=0.482,X[31,25]=0.459,X[32,25]=0.549,X[33,25]=0.376,X[34,25]=0.306,X[35,25]=0.502,X[36,25]=0.322,X[37,25]=0.333,X[38,25]=0.792,X[39,25]=0.878,X[40,25]=0.725,X[41,25]=0.569,X[42,25]=0.396,X[43,25]=0.310,X[44,25]=0.298,X[45,25]=0.357,X[46,25]=0.376,X[47,25]=0.439,X[48,25]=0.380,X[49,25]=0.369,X[50,25]=0.471 X[51,25]=0.510,X[52,25]=0.569,X[53,25]=0.322,X[54,25]=0.267,X[55,25]=0.341,X[56,25]=0.510,X[57,25]=0.639,X[58,25]=0.631,X[59,25]=0.529,X[60,25]=0.482,X[61,25]=0.471,X[62,25]=0.506,X[63,25]=0.569,X[64,25]=0.694,X[65,25]=0.655,X[66,25]=0.525,X[67,25]=0.510,X[68,25]=0.467,X[69,25]=0.565,X[70,25]=0.616,X[71,25]=0.635,X[72,25]=0.573,X[73,25]=0.514,X[74,25]=0.510,X[75,25]=0.439,X[76,25]=0.396,X[77,25]=0.427,X[78,25]=0.482,X[79,25]=0.455,X[80,25]=0.522,X[81,25]=0.506,X[82,25]=0.502,X[83,25]=0.427,X[84,25]=0.337,X[85,25]=0.318,X[86,25]=0.357,X[87,25]=0.424,X[88,25]=0.404,X[89,25]=0.278,X[90,25]=0.361,X[91,25]=0.494,X[92,25]=0.435,X[93,25]=0.306,X[94,25]=0.427,X[95,25]=0.537,X[96,25]=0.522,X[97,25]=0.396,X[98,25]=0.459,X[99,25]=0.557,X[100,25]=0.678 X[1,26]=0.447,X[2,26]=0.522,X[3,26]=0.612,X[4,26]=0.455,X[5,26]=0.447,X[6,26]=0.608,X[7,26]=0.745,X[8,26]=0.549,X[9,26]=0.490,X[10,26]=0.384,X[11,26]=0.647,X[12,26]=0.573,X[13,26]=0.408,X[14,26]=0.498,X[15,26]=0.553,X[16,26]=0.784,X[17,26]=0.682,X[18,26]=0.506,X[19,26]=0.502,X[20,26]=0.471,X[21,26]=0.518,X[22,26]=0.753,X[23,26]=0.518,X[24,26]=0.467,X[25,26]=0.486,X[26,26]=0.592,X[27,26]=0.694,X[28,26]=0.525,X[29,26]=0.537,X[30,26]=0.522,X[31,26]=0.380,X[32,26]=0.188,X[33,26]=0.278,X[34,26]=0.420,X[35,26]=0.502,X[36,26]=0.365,X[37,26]=0.451,X[38,26]=0.624,X[39,26]=0.592,X[40,26]=0.718,X[41,26]=0.608,X[42,26]=0.341,X[43,26]=0.290,X[44,26]=0.239,X[45,26]=0.235,X[46,26]=0.192,X[47,26]=0.310,X[48,26]=0.576,X[49,26]=0.569,X[50,26]=0.635 X[51,26]=0.639,X[52,26]=0.541,X[53,26]=0.384,X[54,26]=0.286,X[55,26]=0.357,X[56,26]=0.471,X[57,26]=0.502,X[58,26]=0.533,X[59,26]=0.506,X[60,26]=0.467,X[61,26]=0.482,X[62,26]=0.455,X[63,26]=0.380,X[64,26]=0.388,X[65,26]=0.471,X[66,26]=0.420,X[67,26]=0.471,X[68,26]=0.451,X[69,26]=0.502,X[70,26]=0.522,X[71,26]=0.522,X[72,26]=0.475,X[73,26]=0.471,X[74,26]=0.490,X[75,26]=0.471,X[76,26]=0.443,X[77,26]=0.471,X[78,26]=0.506,X[79,26]=0.447,X[80,26]=0.427,X[81,26]=0.424,X[82,26]=0.439,X[83,26]=0.486,X[84,26]=0.533,X[85,26]=0.490,X[86,26]=0.467,X[87,26]=0.412,X[88,26]=0.337,X[89,26]=0.380,X[90,26]=0.431,X[91,26]=0.612,X[92,26]=0.455,X[93,26]=0.188,X[94,26]=0.384,X[95,26]=0.592,X[96,26]=0.620,X[97,26]=0.529,X[98,26]=0.365,X[99,26]=0.478,X[100,26]=0.616 X[1,27]=0.510,X[2,27]=0.498,X[3,27]=0.620,X[4,27]=0.596,X[5,27]=0.420,X[6,27]=0.525,X[7,27]=0.741,X[8,27]=0.592,X[9,27]=0.322,X[10,27]=0.310,X[11,27]=0.706,X[12,27]=0.522,X[13,27]=0.455,X[14,27]=0.494,X[15,27]=0.584,X[16,27]=0.698,X[17,27]=0.549,X[18,27]=0.514,X[19,27]=0.545,X[20,27]=0.451,X[21,27]=0.502,X[22,27]=0.639,X[23,27]=0.561,X[24,27]=0.498,X[25,27]=0.467,X[26,27]=0.522,X[27,27]=0.522,X[28,27]=0.494,X[29,27]=0.549,X[30,27]=0.569,X[31,27]=0.545,X[32,27]=0.475,X[33,27]=0.447,X[34,27]=0.682,X[35,27]=0.659,X[36,27]=0.400,X[37,27]=0.392,X[38,27]=0.616,X[39,27]=0.694,X[40,27]=0.573,X[41,27]=0.569,X[42,27]=0.424,X[43,27]=0.306,X[44,27]=0.298,X[45,27]=0.302,X[46,27]=0.278,X[47,27]=0.376,X[48,27]=0.549,X[49,27]=0.549,X[50,27]=0.553 X[51,27]=0.722,X[52,27]=0.729,X[53,27]=0.584,X[54,27]=0.443,X[55,27]=0.408,X[56,27]=0.478,X[57,27]=0.502,X[58,27]=0.557,X[59,27]=0.576,X[60,27]=0.475,X[61,27]=0.345,X[62,27]=0.267,X[63,27]=0.322,X[64,27]=0.459,X[65,27]=0.498,X[66,27]=0.510,X[67,27]=0.471,X[68,27]=0.439,X[69,27]=0.416,X[70,27]=0.486,X[71,27]=0.514,X[72,27]=0.533,X[73,27]=0.529,X[74,27]=0.482,X[75,27]=0.490,X[76,27]=0.447,X[77,27]=0.502,X[78,27]=0.475,X[79,27]=0.451,X[80,27]=0.431,X[81,27]=0.392,X[82,27]=0.494,X[83,27]=0.498,X[84,27]=0.490,X[85,27]=0.541,X[86,27]=0.486,X[87,27]=0.341,X[88,27]=0.267,X[89,27]=0.376,X[90,27]=0.490,X[91,27]=0.690,X[92,27]=0.337,X[93,27]=0.161,X[94,27]=0.322,X[95,27]=0.561,X[96,27]=0.694,X[97,27]=0.510,X[98,27]=0.353,X[99,27]=0.541,X[100,27]=0.333 X[1,28]=0.200,X[2,28]=0.188,X[3,28]=0.322,X[4,28]=0.404,X[5,28]=0.290,X[6,28]=0.478,X[7,28]=0.494,X[8,28]=0.627,X[9,28]=0.518,X[10,28]=0.427,X[11,28]=0.655,X[12,28]=0.569,X[13,28]=0.494,X[14,28]=0.478,X[15,28]=0.510,X[16,28]=0.537,X[17,28]=0.482,X[18,28]=0.557,X[19,28]=0.518,X[20,28]=0.384,X[21,28]=0.435,X[22,28]=0.514,X[23,28]=0.529,X[24,28]=0.490,X[25,28]=0.431,X[26,28]=0.467,X[27,28]=0.447,X[28,28]=0.459,X[29,28]=0.576,X[30,28]=0.718,X[31,28]=0.698,X[32,28]=0.537,X[33,28]=0.435,X[34,28]=0.529,X[35,28]=0.592,X[36,28]=0.435,X[37,28]=0.443,X[38,28]=0.451,X[39,28]=0.745,X[40,28]=0.729,X[41,28]=0.459,X[42,28]=0.529,X[43,28]=0.514,X[44,28]=0.588,X[45,28]=0.596,X[46,28]=0.388,X[47,28]=0.353,X[48,28]=0.365,X[49,28]=0.388,X[50,28]=0.518 X[51,28]=0.608,X[52,28]=0.784,X[53,28]=0.694,X[54,28]=0.537,X[55,28]=0.459,X[56,28]=0.471,X[57,28]=0.514,X[58,28]=0.514,X[59,28]=0.545,X[60,28]=0.525,X[61,28]=0.553,X[62,28]=0.733,X[63,28]=0.749,X[64,28]=0.643,X[65,28]=0.514,X[66,28]=0.502,X[67,28]=0.471,X[68,28]=0.392,X[69,28]=0.427,X[70,28]=0.478,X[71,28]=0.463,X[72,28]=0.518,X[73,28]=0.522,X[74,28]=0.482,X[75,28]=0.475,X[76,28]=0.455,X[77,28]=0.502,X[78,28]=0.506,X[79,28]=0.490,X[80,28]=0.443,X[81,28]=0.412,X[82,28]=0.459,X[83,28]=0.502,X[84,28]=0.478,X[85,28]=0.576,X[86,28]=0.467,X[87,28]=0.310,X[88,28]=0.271,X[89,28]=0.298,X[90,28]=0.529,X[91,28]=0.620,X[92,28]=0.443,X[93,28]=0.376,X[94,28]=0.282,X[95,28]=0.396,X[96,28]=0.675,X[97,28]=0.671,X[98,28]=0.569,X[99,28]=0.490,X[100,28]=0.298 X[1,29]=0.267,X[2,29]=0.098,X[3,29]=0.235,X[4,29]=0.294,X[5,29]=0.227,X[6,29]=0.435,X[7,29]=0.655,X[8,29]=0.667,X[9,29]=0.408,X[10,29]=0.443,X[11,29]=0.529,X[12,29]=0.525,X[13,29]=0.502,X[14,29]=0.467,X[15,29]=0.471,X[16,29]=0.467,X[17,29]=0.451,X[18,29]=0.475,X[19,29]=0.494,X[20,29]=0.455,X[21,29]=0.384,X[22,29]=0.447,X[23,29]=0.518,X[24,29]=0.569,X[25,29]=0.427,X[26,29]=0.333,X[27,29]=0.318,X[28,29]=0.494,X[29,29]=0.675,X[30,29]=0.643,X[31,29]=0.518,X[32,29]=0.459,X[33,29]=0.467,X[34,29]=0.502,X[35,29]=0.584,X[36,29]=0.514,X[37,29]=0.471,X[38,29]=0.490,X[39,29]=0.502,X[40,29]=0.694,X[41,29]=0.557,X[42,29]=0.549,X[43,29]=0.518,X[44,29]=0.584,X[45,29]=0.537,X[46,29]=0.400,X[47,29]=0.365,X[48,29]=0.365,X[49,29]=0.396,X[50,29]=0.443 X[51,29]=0.545,X[52,29]=0.678,X[53,29]=0.635,X[54,29]=0.576,X[55,29]=0.529,X[56,29]=0.451,X[57,29]=0.490,X[58,29]=0.490,X[59,29]=0.529,X[60,29]=0.651,X[61,29]=0.827,X[62,29]=0.851,X[63,29]=0.867,X[64,29]=0.827,X[65,29]=0.647,X[66,29]=0.506,X[67,29]=0.471,X[68,29]=0.439,X[69,29]=0.490,X[70,29]=0.502,X[71,29]=0.514,X[72,29]=0.588,X[73,29]=0.549,X[74,29]=0.502,X[75,29]=0.549,X[76,29]=0.506,X[77,29]=0.529,X[78,29]=0.549,X[79,29]=0.541,X[80,29]=0.482,X[81,29]=0.569,X[82,29]=0.573,X[83,29]=0.502,X[84,29]=0.525,X[85,29]=0.584,X[86,29]=0.569,X[87,29]=0.420,X[88,29]=0.259,X[89,29]=0.278,X[90,29]=0.557,X[91,29]=0.600,X[92,29]=0.580,X[93,29]=0.663,X[94,29]=0.506,X[95,29]=0.439,X[96,29]=0.596,X[97,29]=0.596,X[98,29]=0.733,X[99,29]=0.675,X[100,29]=0.745 X[1,30]=0.443,X[2,30]=0.294,X[3,30]=0.412,X[4,30]=0.314,X[5,30]=0.302,X[6,30]=0.373,X[7,30]=0.455,X[8,30]=0.533,X[9,30]=0.400,X[10,30]=0.341,X[11,30]=0.424,X[12,30]=0.467,X[13,30]=0.537,X[14,30]=0.420,X[15,30]=0.349,X[16,30]=0.337,X[17,30]=0.455,X[18,30]=0.482,X[19,30]=0.545,X[20,30]=0.561,X[21,30]=0.510,X[22,30]=0.569,X[23,30]=0.631,X[24,30]=0.573,X[25,30]=0.459,X[26,30]=0.271,X[27,30]=0.294,X[28,30]=0.427,X[29,30]=0.510,X[30,30]=0.537,X[31,30]=0.490,X[32,30]=0.478,X[33,30]=0.502,X[34,30]=0.529,X[35,30]=0.545,X[36,30]=0.431,X[37,30]=0.302,X[38,30]=0.345,X[39,30]=0.541,X[40,30]=0.522,X[41,30]=0.529,X[42,30]=0.486,X[43,30]=0.353,X[44,30]=0.341,X[45,30]=0.408,X[46,30]=0.463,X[47,30]=0.494,X[48,30]=0.490,X[49,30]=0.443,X[50,30]=0.294 X[51,30]=0.471,X[52,30]=0.584,X[53,30]=0.537,X[54,30]=0.569,X[55,30]=0.522,X[56,30]=0.494,X[57,30]=0.486,X[58,30]=0.486,X[59,30]=0.475,X[60,30]=0.416,X[61,30]=0.514,X[62,30]=0.694,X[63,30]=0.824,X[64,30]=0.886,X[65,30]=0.882,X[66,30]=0.675,X[67,30]=0.475,X[68,30]=0.502,X[69,30]=0.533,X[70,30]=0.510,X[71,30]=0.561,X[72,30]=0.580,X[73,30]=0.588,X[74,30]=0.635,X[75,30]=0.624,X[76,30]=0.592,X[77,30]=0.612,X[78,30]=0.616,X[79,30]=0.549,X[80,30]=0.537,X[81,30]=0.596,X[82,30]=0.569,X[83,30]=0.416,X[84,30]=0.514,X[85,30]=0.580,X[86,30]=0.569,X[87,30]=0.384,X[88,30]=0.227,X[89,30]=0.388,X[90,30]=0.400,X[91,30]=0.431,X[92,30]=0.475,X[93,30]=0.388,X[94,30]=0.486,X[95,30]=0.412,X[96,30]=0.318,X[97,30]=0.576,X[98,30]=0.835,X[99,30]=0.784,X[100,30]=0.706 X[1,31]=0.518,X[2,31]=0.447,X[3,31]=0.388,X[4,31]=0.243,X[5,31]=0.231,X[6,31]=0.263,X[7,31]=0.278,X[8,31]=0.318,X[9,31]=0.431,X[10,31]=0.463,X[11,31]=0.522,X[12,31]=0.576,X[13,31]=0.576,X[14,31]=0.443,X[15,31]=0.275,X[16,31]=0.302,X[17,31]=0.412,X[18,31]=0.486,X[19,31]=0.510,X[20,31]=0.557,X[21,31]=0.549,X[22,31]=0.541,X[23,31]=0.682,X[24,31]=0.690,X[25,31]=0.584,X[26,31]=0.392,X[27,31]=0.345,X[28,31]=0.431,X[29,31]=0.490,X[30,31]=0.549,X[31,31]=0.545,X[32,31]=0.447,X[33,31]=0.333,X[34,31]=0.235,X[35,31]=0.278,X[36,31]=0.420,X[37,31]=0.514,X[38,31]=0.427,X[39,31]=0.498,X[40,31]=0.463,X[41,31]=0.482,X[42,31]=0.365,X[43,31]=0.286,X[44,31]=0.298,X[45,31]=0.302,X[46,31]=0.373,X[47,31]=0.380,X[48,31]=0.345,X[49,31]=0.275,X[50,31]=0.216 X[51,31]=0.455,X[52,31]=0.518,X[53,31]=0.451,X[54,31]=0.533,X[55,31]=0.478,X[56,31]=0.498,X[57,31]=0.471,X[58,31]=0.471,X[59,31]=0.498,X[60,31]=0.431,X[61,31]=0.247,X[62,31]=0.247,X[63,31]=0.498,X[64,31]=0.698,X[65,31]=0.667,X[66,31]=0.514,X[67,31]=0.427,X[68,31]=0.439,X[69,31]=0.455,X[70,31]=0.435,X[71,31]=0.482,X[72,31]=0.565,X[73,31]=0.533,X[74,31]=0.549,X[75,31]=0.573,X[76,31]=0.557,X[77,31]=0.533,X[78,31]=0.502,X[79,31]=0.412,X[80,31]=0.443,X[81,31]=0.435,X[82,31]=0.439,X[83,31]=0.435,X[84,31]=0.431,X[85,31]=0.482,X[86,31]=0.506,X[87,31]=0.392,X[88,31]=0.380,X[89,31]=0.463,X[90,31]=0.310,X[91,31]=0.141,X[92,31]=0.231,X[93,31]=0.431,X[94,31]=0.475,X[95,31]=0.400,X[96,31]=0.361,X[97,31]=0.588,X[98,31]=0.588,X[99,31]=0.647,X[100,31]=0.557 X[1,32]=0.416,X[2,32]=0.467,X[3,32]=0.439,X[4,32]=0.314,X[5,32]=0.267,X[6,32]=0.165,X[7,32]=0.302,X[8,32]=0.365,X[9,32]=0.502,X[10,32]=0.639,X[11,32]=0.569,X[12,32]=0.678,X[13,32]=0.655,X[14,32]=0.541,X[15,32]=0.349,X[16,32]=0.325,X[17,32]=0.412,X[18,32]=0.459,X[19,32]=0.459,X[20,32]=0.463,X[21,32]=0.420,X[22,32]=0.455,X[23,32]=0.584,X[24,32]=0.769,X[25,32]=0.745,X[26,32]=0.576,X[27,32]=0.475,X[28,32]=0.459,X[29,32]=0.518,X[30,32]=0.514,X[31,32]=0.545,X[32,32]=0.439,X[33,32]=0.392,X[34,32]=0.486,X[35,32]=0.380,X[36,32]=0.498,X[37,32]=0.533,X[38,32]=0.424,X[39,32]=0.388,X[40,32]=0.424,X[41,32]=0.451,X[42,32]=0.365,X[43,32]=0.278,X[44,32]=0.243,X[45,32]=0.180,X[46,32]=0.204,X[47,32]=0.282,X[48,32]=0.365,X[49,32]=0.263,X[50,32]=0.267 X[51,32]=0.443,X[52,32]=0.435,X[53,32]=0.400,X[54,32]=0.471,X[55,32]=0.490,X[56,32]=0.482,X[57,32]=0.420,X[58,32]=0.416,X[59,32]=0.549,X[60,32]=0.537,X[61,32]=0.337,X[62,32]=0.035,X[63,32]=0.063,X[64,32]=0.353,X[65,32]=0.502,X[66,32]=0.447,X[67,32]=0.455,X[68,32]=0.443,X[69,32]=0.408,X[70,32]=0.447,X[71,32]=0.435,X[72,32]=0.435,X[73,32]=0.455,X[74,32]=0.467,X[75,32]=0.427,X[76,32]=0.475,X[77,32]=0.498,X[78,32]=0.439,X[79,32]=0.369,X[80,32]=0.408,X[81,32]=0.494,X[82,32]=0.471,X[83,32]=0.435,X[84,32]=0.416,X[85,32]=0.494,X[86,32]=0.475,X[87,32]=0.486,X[88,32]=0.494,X[89,32]=0.412,X[90,32]=0.447,X[91,32]=0.369,X[92,32]=0.239,X[93,32]=0.616,X[94,32]=0.600,X[95,32]=0.502,X[96,32]=0.447,X[97,32]=0.525,X[98,32]=0.647,X[99,32]=0.592,X[100,32]=0.525 X[1,33]=0.459,X[2,33]=0.525,X[3,33]=0.502,X[4,33]=0.463,X[5,33]=0.467,X[6,33]=0.435,X[7,33]=0.486,X[8,33]=0.416,X[9,33]=0.404,X[10,33]=0.443,X[11,33]=0.478,X[12,33]=0.592,X[13,33]=0.753,X[14,33]=0.710,X[15,33]=0.537,X[16,33]=0.439,X[17,33]=0.463,X[18,33]=0.478,X[19,33]=0.420,X[20,33]=0.443,X[21,33]=0.439,X[22,33]=0.451,X[23,33]=0.518,X[24,33]=0.702,X[25,33]=0.733,X[26,33]=0.584,X[27,33]=0.537,X[28,33]=0.443,X[29,33]=0.506,X[30,33]=0.549,X[31,33]=0.573,X[32,33]=0.667,X[33,33]=0.702,X[34,33]=0.769,X[35,33]=0.678,X[36,33]=0.596,X[37,33]=0.561,X[38,33]=0.498,X[39,33]=0.427,X[40,33]=0.510,X[41,33]=0.494,X[42,33]=0.435,X[43,33]=0.427,X[44,33]=0.349,X[45,33]=0.322,X[46,33]=0.380,X[47,33]=0.408,X[48,33]=0.412,X[49,33]=0.294,X[50,33]=0.337 X[51,33]=0.486,X[52,33]=0.490,X[53,33]=0.322,X[54,33]=0.373,X[55,33]=0.529,X[56,33]=0.557,X[57,33]=0.412,X[58,33]=0.282,X[59,33]=0.627,X[60,33]=0.800,X[61,33]=0.698,X[62,33]=0.310,X[63,33]=0.294,X[64,33]=0.478,X[65,33]=0.522,X[66,33]=0.518,X[67,33]=0.510,X[68,33]=0.514,X[69,33]=0.459,X[70,33]=0.427,X[71,33]=0.420,X[72,33]=0.455,X[73,33]=0.373,X[74,33]=0.420,X[75,33]=0.463,X[76,33]=0.478,X[77,33]=0.545,X[78,33]=0.514,X[79,33]=0.502,X[80,33]=0.498,X[81,33]=0.482,X[82,33]=0.471,X[83,33]=0.443,X[84,33]=0.439,X[85,33]=0.482,X[86,33]=0.463,X[87,33]=0.467,X[88,33]=0.463,X[89,33]=0.420,X[90,33]=0.431,X[91,33]=0.325,X[92,33]=0.165,X[93,33]=0.298,X[94,33]=0.533,X[95,33]=0.471,X[96,33]=0.341,X[97,33]=0.435,X[98,33]=0.576,X[99,33]=0.824,X[100,33]=0.435 X[1,34]=0.455,X[2,34]=0.475,X[3,34]=0.490,X[4,34]=0.557,X[5,34]=0.561,X[6,34]=0.573,X[7,34]=0.475,X[8,34]=0.322,X[9,34]=0.345,X[10,34]=0.349,X[11,34]=0.447,X[12,34]=0.525,X[13,34]=0.710,X[14,34]=0.765,X[15,34]=0.592,X[16,34]=0.514,X[17,34]=0.451,X[18,34]=0.498,X[19,34]=0.486,X[20,34]=0.486,X[21,34]=0.482,X[22,34]=0.451,X[23,34]=0.502,X[24,34]=0.620,X[25,34]=0.588,X[26,34]=0.576,X[27,34]=0.569,X[28,34]=0.494,X[29,34]=0.463,X[30,34]=0.529,X[31,34]=0.494,X[32,34]=0.533,X[33,34]=0.682,X[34,34]=0.753,X[35,34]=0.804,X[36,34]=0.914,X[37,34]=0.824,X[38,34]=0.604,X[39,34]=0.514,X[40,34]=0.522,X[41,34]=0.502,X[42,34]=0.510,X[43,34]=0.525,X[44,34]=0.525,X[45,34]=0.463,X[46,34]=0.471,X[47,34]=0.388,X[48,34]=0.325,X[49,34]=0.349,X[50,34]=0.431 X[51,34]=0.584,X[52,34]=0.553,X[53,34]=0.310,X[54,34]=0.384,X[55,34]=0.561,X[56,34]=0.682,X[57,34]=0.498,X[58,34]=0.227,X[59,34]=0.416,X[60,34]=0.816,X[61,34]=0.863,X[62,34]=0.600,X[63,34]=0.533,X[64,34]=0.608,X[65,34]=0.545,X[66,34]=0.537,X[67,34]=0.525,X[68,34]=0.498,X[69,34]=0.424,X[70,34]=0.443,X[71,34]=0.431,X[72,34]=0.455,X[73,34]=0.416,X[74,34]=0.435,X[75,34]=0.541,X[76,34]=0.514,X[77,34]=0.490,X[78,34]=0.518,X[79,34]=0.506,X[80,34]=0.486,X[81,34]=0.455,X[82,34]=0.475,X[83,34]=0.459,X[84,34]=0.510,X[85,34]=0.482,X[86,34]=0.478,X[87,34]=0.518,X[88,34]=0.435,X[89,34]=0.486,X[90,34]=0.439,X[91,34]=0.118,X[92,34]=0.173,X[93,34]=0.110,X[94,34]=0.255,X[95,34]=0.251,X[96,34]=0.243,X[97,34]=0.510,X[98,34]=0.380,X[99,34]=0.671,X[100,34]=0.502 X[1,35]=0.506,X[2,35]=0.498,X[3,35]=0.482,X[4,35]=0.439,X[5,35]=0.341,X[6,35]=0.396,X[7,35]=0.443,X[8,35]=0.427,X[9,35]=0.431,X[10,35]=0.447,X[11,35]=0.412,X[12,35]=0.447,X[13,35]=0.635,X[14,35]=0.624,X[15,35]=0.584,X[16,35]=0.561,X[17,35]=0.494,X[18,35]=0.490,X[19,35]=0.490,X[20,35]=0.490,X[21,35]=0.471,X[22,35]=0.388,X[23,35]=0.427,X[24,35]=0.573,X[25,35]=0.525,X[26,35]=0.573,X[27,35]=0.529,X[28,35]=0.482,X[29,35]=0.475,X[30,35]=0.451,X[31,35]=0.478,X[32,35]=0.314,X[33,35]=0.286,X[34,35]=0.482,X[35,35]=0.698,X[36,35]=0.824,X[37,35]=0.761,X[38,35]=0.537,X[39,35]=0.541,X[40,35]=0.533,X[41,35]=0.627,X[42,35]=0.729,X[43,35]=0.545,X[44,35]=0.459,X[45,35]=0.455,X[46,35]=0.447,X[47,35]=0.373,X[48,35]=0.294,X[49,35]=0.341,X[50,35]=0.435 X[51,35]=0.686,X[52,35]=0.427,X[53,35]=0.267,X[54,35]=0.329,X[55,35]=0.522,X[56,35]=0.776,X[57,35]=0.616,X[58,35]=0.337,X[59,35]=0.271,X[60,35]=0.667,X[61,35]=0.620,X[62,35]=0.522,X[63,35]=0.522,X[64,35]=0.541,X[65,35]=0.482,X[66,35]=0.490,X[67,35]=0.486,X[68,35]=0.459,X[69,35]=0.459,X[70,35]=0.498,X[71,35]=0.525,X[72,35]=0.494,X[73,35]=0.522,X[74,35]=0.569,X[75,35]=0.561,X[76,35]=0.486,X[77,35]=0.502,X[78,35]=0.518,X[79,35]=0.553,X[80,35]=0.529,X[81,35]=0.494,X[82,35]=0.502,X[83,35]=0.490,X[84,35]=0.514,X[85,35]=0.482,X[86,35]=0.510,X[87,35]=0.557,X[88,35]=0.525,X[89,35]=0.545,X[90,35]=0.545,X[91,35]=0.373,X[92,35]=0.294,X[93,35]=0.196,X[94,35]=0.216,X[95,35]=0.227,X[96,35]=0.239,X[97,35]=0.184,X[98,35]=0.427,X[99,35]=0.475,X[100,35]=0.549 X[1,36]=0.549,X[2,36]=0.561,X[3,36]=0.424,X[4,36]=0.376,X[5,36]=0.357,X[6,36]=0.388,X[7,36]=0.447,X[8,36]=0.482,X[9,36]=0.494,X[10,36]=0.380,X[11,36]=0.220,X[12,36]=0.278,X[13,36]=0.580,X[14,36]=0.502,X[15,36]=0.529,X[16,36]=0.522,X[17,36]=0.486,X[18,36]=0.494,X[19,36]=0.494,X[20,36]=0.502,X[21,36]=0.412,X[22,36]=0.247,X[23,36]=0.384,X[24,36]=0.478,X[25,36]=0.475,X[26,36]=0.557,X[27,36]=0.533,X[28,36]=0.463,X[29,36]=0.510,X[30,36]=0.439,X[31,36]=0.518,X[32,36]=0.467,X[33,36]=0.176,X[34,36]=0.094,X[35,36]=0.263,X[36,36]=0.463,X[37,36]=0.510,X[38,36]=0.502,X[39,36]=0.502,X[40,36]=0.565,X[41,36]=0.749,X[42,36]=0.882,X[43,36]=0.788,X[44,36]=0.580,X[45,36]=0.576,X[46,36]=0.529,X[47,36]=0.514,X[48,36]=0.549,X[49,36]=0.349,X[50,36]=0.447 X[51,36]=0.482,X[52,36]=0.271,X[53,36]=0.235,X[54,36]=0.243,X[55,36]=0.435,X[56,36]=0.769,X[57,36]=0.765,X[58,36]=0.412,X[59,36]=0.467,X[60,36]=0.651,X[61,36]=0.663,X[62,36]=0.553,X[63,36]=0.514,X[64,36]=0.514,X[65,36]=0.471,X[66,36]=0.533,X[67,36]=0.557,X[68,36]=0.471,X[69,36]=0.455,X[70,36]=0.514,X[71,36]=0.553,X[72,36]=0.463,X[73,36]=0.467,X[74,36]=0.576,X[75,36]=0.616,X[76,36]=0.608,X[77,36]=0.600,X[78,36]=0.557,X[79,36]=0.561,X[80,36]=0.482,X[81,36]=0.502,X[82,36]=0.514,X[83,36]=0.584,X[84,36]=0.490,X[85,36]=0.482,X[86,36]=0.565,X[87,36]=0.518,X[88,36]=0.498,X[89,36]=0.584,X[90,36]=0.596,X[91,36]=0.592,X[92,36]=0.471,X[93,36]=0.451,X[94,36]=0.322,X[95,36]=0.216,X[96,36]=0.463,X[97,36]=0.231,X[98,36]=0.431,X[99,36]=0.502,X[100,36]=0.533 X[1,37]=0.533,X[2,37]=0.573,X[3,37]=0.537,X[4,37]=0.424,X[5,37]=0.310,X[6,37]=0.341,X[7,37]=0.337,X[8,37]=0.271,X[9,37]=0.384,X[10,37]=0.322,X[11,37]=0.169,X[12,37]=0.349,X[13,37]=0.486,X[14,37]=0.427,X[15,37]=0.475,X[16,37]=0.502,X[17,37]=0.459,X[18,37]=0.506,X[19,37]=0.439,X[20,37]=0.506,X[21,37]=0.494,X[22,37]=0.353,X[23,37]=0.376,X[24,37]=0.427,X[25,37]=0.396,X[26,37]=0.369,X[27,37]=0.494,X[28,37]=0.537,X[29,37]=0.498,X[30,37]=0.514,X[31,37]=0.682,X[32,37]=0.686,X[33,37]=0.455,X[34,37]=0.224,X[35,37]=0.314,X[36,37]=0.475,X[37,37]=0.502,X[38,37]=0.502,X[39,37]=0.373,X[40,37]=0.333,X[41,37]=0.694,X[42,37]=0.851,X[43,37]=0.906,X[44,37]=0.714,X[45,37]=0.506,X[46,37]=0.490,X[47,37]=0.616,X[48,37]=0.592,X[49,37]=0.400,X[50,37]=0.529 X[51,37]=0.447,X[52,37]=0.361,X[53,37]=0.310,X[54,37]=0.365,X[55,37]=0.373,X[56,37]=0.573,X[57,37]=0.729,X[58,37]=0.557,X[59,37]=0.745,X[60,37]=0.796,X[61,37]=0.886,X[62,37]=0.616,X[63,37]=0.588,X[64,37]=0.569,X[65,37]=0.573,X[66,37]=0.627,X[67,37]=0.588,X[68,37]=0.506,X[69,37]=0.541,X[70,37]=0.545,X[71,37]=0.486,X[72,37]=0.439,X[73,37]=0.420,X[74,37]=0.553,X[75,37]=0.596,X[76,37]=0.573,X[77,37]=0.478,X[78,37]=0.475,X[79,37]=0.525,X[80,37]=0.518,X[81,37]=0.561,X[82,37]=0.584,X[83,37]=0.639,X[84,37]=0.584,X[85,37]=0.490,X[86,37]=0.486,X[87,37]=0.475,X[88,37]=0.478,X[89,37]=0.549,X[90,37]=0.545,X[91,37]=0.557,X[92,37]=0.545,X[93,37]=0.486,X[94,37]=0.482,X[95,37]=0.443,X[96,37]=0.608,X[97,37]=0.580,X[98,37]=0.573,X[99,37]=0.533,X[100,37]=0.478 X[1,38]=0.502,X[2,38]=0.482,X[3,38]=0.502,X[4,38]=0.396,X[5,38]=0.251,X[6,38]=0.235,X[7,38]=0.204,X[8,38]=0.298,X[9,38]=0.427,X[10,38]=0.388,X[11,38]=0.239,X[12,38]=0.427,X[13,38]=0.463,X[14,38]=0.392,X[15,38]=0.373,X[16,38]=0.498,X[17,38]=0.498,X[18,38]=0.482,X[19,38]=0.369,X[20,38]=0.525,X[21,38]=0.565,X[22,38]=0.533,X[23,38]=0.439,X[24,38]=0.490,X[25,38]=0.318,X[26,38]=0.290,X[27,38]=0.475,X[28,38]=0.616,X[29,38]=0.502,X[30,38]=0.365,X[31,38]=0.655,X[32,38]=0.863,X[33,38]=0.757,X[34,38]=0.529,X[35,38]=0.529,X[36,38]=0.549,X[37,38]=0.580,X[38,38]=0.494,X[39,38]=0.282,X[40,38]=0.161,X[41,38]=0.412,X[42,38]=0.686,X[43,38]=0.788,X[44,38]=0.718,X[45,38]=0.353,X[46,38]=0.278,X[47,38]=0.600,X[48,38]=0.573,X[49,38]=0.671,X[50,38]=0.608 X[51,38]=0.565,X[52,38]=0.573,X[53,38]=0.537,X[54,38]=0.498,X[55,38]=0.431,X[56,38]=0.624,X[57,38]=0.584,X[58,38]=0.659,X[59,38]=0.757,X[60,38]=0.745,X[61,38]=0.678,X[62,38]=0.627,X[63,38]=0.651,X[64,38]=0.553,X[65,38]=0.588,X[66,38]=0.576,X[67,38]=0.529,X[68,38]=0.529,X[69,38]=0.569,X[70,38]=0.604,X[71,38]=0.557,X[72,38]=0.506,X[73,38]=0.490,X[74,38]=0.455,X[75,38]=0.471,X[76,38]=0.510,X[77,38]=0.506,X[78,38]=0.553,X[79,38]=0.471,X[80,38]=0.506,X[81,38]=0.494,X[82,38]=0.592,X[83,38]=0.573,X[84,38]=0.498,X[85,38]=0.475,X[86,38]=0.459,X[87,38]=0.447,X[88,38]=0.455,X[89,38]=0.451,X[90,38]=0.447,X[91,38]=0.482,X[92,38]=0.525,X[93,38]=0.514,X[94,38]=0.502,X[95,38]=0.584,X[96,38]=0.576,X[97,38]=0.612,X[98,38]=0.565,X[99,38]=0.447,X[100,38]=0.427 X[1,39]=0.439,X[2,39]=0.455,X[3,39]=0.498,X[4,39]=0.420,X[5,39]=0.400,X[6,39]=0.494,X[7,39]=0.353,X[8,39]=0.396,X[9,39]=0.416,X[10,39]=0.322,X[11,39]=0.361,X[12,39]=0.467,X[13,39]=0.569,X[14,39]=0.322,X[15,39]=0.263,X[16,39]=0.471,X[17,39]=0.604,X[18,39]=0.545,X[19,39]=0.267,X[20,39]=0.267,X[21,39]=0.518,X[22,39]=0.573,X[23,39]=0.584,X[24,39]=0.639,X[25,39]=0.310,X[26,39]=0.282,X[27,39]=0.424,X[28,39]=0.620,X[29,39]=0.541,X[30,39]=0.259,X[31,39]=0.318,X[32,39]=0.588,X[33,39]=0.573,X[34,39]=0.553,X[35,39]=0.549,X[36,39]=0.573,X[37,39]=0.616,X[38,39]=0.545,X[39,39]=0.310,X[40,39]=0.184,X[41,39]=0.251,X[42,39]=0.557,X[43,39]=0.831,X[44,39]=0.788,X[45,39]=0.349,X[46,39]=0.333,X[47,39]=0.537,X[48,39]=0.710,X[49,39]=0.784,X[50,39]=0.573 X[51,39]=0.557,X[52,39]=0.576,X[53,39]=0.639,X[54,39]=0.561,X[55,39]=0.435,X[56,39]=0.592,X[57,39]=0.514,X[58,39]=0.420,X[59,39]=0.482,X[60,39]=0.737,X[61,39]=0.749,X[62,39]=0.812,X[63,39]=0.702,X[64,39]=0.502,X[65,39]=0.502,X[66,39]=0.475,X[67,39]=0.447,X[68,39]=0.439,X[69,39]=0.529,X[70,39]=0.588,X[71,39]=0.635,X[72,39]=0.537,X[73,39]=0.424,X[74,39]=0.416,X[75,39]=0.502,X[76,39]=0.486,X[77,39]=0.494,X[78,39]=0.463,X[79,39]=0.431,X[80,39]=0.459,X[81,39]=0.455,X[82,39]=0.482,X[83,39]=0.447,X[84,39]=0.502,X[85,39]=0.553,X[86,39]=0.498,X[87,39]=0.451,X[88,39]=0.424,X[89,39]=0.435,X[90,39]=0.463,X[91,39]=0.475,X[92,39]=0.463,X[93,39]=0.498,X[94,39]=0.455,X[95,39]=0.490,X[96,39]=0.463,X[97,39]=0.494,X[98,39]=0.478,X[99,39]=0.475,X[100,39]=0.471 X[1,40]=0.427,X[2,40]=0.471,X[3,40]=0.506,X[4,40]=0.482,X[5,40]=0.545,X[6,40]=0.604,X[7,40]=0.514,X[8,40]=0.427,X[9,40]=0.310,X[10,40]=0.286,X[11,40]=0.412,X[12,40]=0.553,X[13,40]=0.682,X[14,40]=0.235,X[15,40]=0.227,X[16,40]=0.435,X[17,40]=0.671,X[18,40]=0.647,X[19,40]=0.294,X[20,40]=0.118,X[21,40]=0.290,X[22,40]=0.404,X[23,40]=0.616,X[24,40]=0.478,X[25,40]=0.275,X[26,40]=0.282,X[27,40]=0.365,X[28,40]=0.631,X[29,40]=0.682,X[30,40]=0.302,X[31,40]=0.224,X[32,40]=0.439,X[33,40]=0.490,X[34,40]=0.506,X[35,40]=0.510,X[36,40]=0.506,X[37,40]=0.502,X[38,40]=0.541,X[39,40]=0.361,X[40,40]=0.196,X[41,40]=0.278,X[42,40]=0.459,X[43,40]=0.808,X[44,40]=0.733,X[45,40]=0.439,X[46,40]=0.502,X[47,40]=0.510,X[48,40]=0.780,X[49,40]=0.667,X[50,40]=0.482 X[51,40]=0.494,X[52,40]=0.490,X[53,40]=0.549,X[54,40]=0.565,X[55,40]=0.329,X[56,40]=0.341,X[57,40]=0.380,X[58,40]=0.278,X[59,40]=0.553,X[60,40]=0.776,X[61,40]=0.725,X[62,40]=0.635,X[63,40]=0.490,X[64,40]=0.490,X[65,40]=0.549,X[66,40]=0.459,X[67,40]=0.412,X[68,40]=0.447,X[69,40]=0.459,X[70,40]=0.486,X[71,40]=0.537,X[72,40]=0.502,X[73,40]=0.431,X[74,40]=0.435,X[75,40]=0.463,X[76,40]=0.435,X[77,40]=0.529,X[78,40]=0.467,X[79,40]=0.396,X[80,40]=0.420,X[81,40]=0.486,X[82,40]=0.518,X[83,40]=0.576,X[84,40]=0.573,X[85,40]=0.541,X[86,40]=0.498,X[87,40]=0.427,X[88,40]=0.420,X[89,40]=0.443,X[90,40]=0.463,X[91,40]=0.459,X[92,40]=0.447,X[93,40]=0.447,X[94,40]=0.400,X[95,40]=0.408,X[96,40]=0.463,X[97,40]=0.506,X[98,40]=0.514,X[99,40]=0.553,X[100,40]=0.502 X[1,41]=0.506,X[2,41]=0.510,X[3,41]=0.494,X[4,41]=0.427,X[5,41]=0.490,X[6,41]=0.502,X[7,41]=0.506,X[8,41]=0.455,X[9,41]=0.314,X[10,41]=0.271,X[11,41]=0.384,X[12,41]=0.647,X[13,41]=0.553,X[14,41]=0.286,X[15,41]=0.255,X[16,41]=0.357,X[17,41]=0.702,X[18,41]=0.831,X[19,41]=0.400,X[20,41]=0.125,X[21,41]=0.141,X[22,41]=0.333,X[23,41]=0.545,X[24,41]=0.424,X[25,41]=0.325,X[26,41]=0.239,X[27,41]=0.251,X[28,41]=0.596,X[29,41]=0.824,X[30,41]=0.537,X[31,41]=0.447,X[32,41]=0.427,X[33,41]=0.431,X[34,41]=0.404,X[35,41]=0.447,X[36,41]=0.467,X[37,41]=0.510,X[38,41]=0.541,X[39,41]=0.525,X[40,41]=0.373,X[41,41]=0.416,X[42,41]=0.404,X[43,41]=0.686,X[44,41]=0.596,X[45,41]=0.416,X[46,41]=0.502,X[47,41]=0.541,X[48,41]=0.776,X[49,41]=0.655,X[50,41]=0.502 X[51,41]=0.482,X[52,41]=0.463,X[53,41]=0.522,X[54,41]=0.412,X[55,41]=0.447,X[56,41]=0.631,X[57,41]=0.486,X[58,41]=0.451,X[59,41]=0.580,X[60,41]=0.576,X[61,41]=0.498,X[62,41]=0.718,X[63,41]=0.596,X[64,41]=0.502,X[65,41]=0.502,X[66,41]=0.549,X[67,41]=0.471,X[68,41]=0.404,X[69,41]=0.376,X[70,41]=0.459,X[71,41]=0.525,X[72,41]=0.529,X[73,41]=0.455,X[74,41]=0.502,X[75,41]=0.533,X[76,41]=0.518,X[77,41]=0.569,X[78,41]=0.557,X[79,41]=0.498,X[80,41]=0.510,X[81,41]=0.600,X[82,41]=0.502,X[83,41]=0.455,X[84,41]=0.522,X[85,41]=0.522,X[86,41]=0.482,X[87,41]=0.482,X[88,41]=0.522,X[89,41]=0.549,X[90,41]=0.498,X[91,41]=0.463,X[92,41]=0.514,X[93,41]=0.490,X[94,41]=0.482,X[95,41]=0.482,X[96,41]=0.569,X[97,41]=0.506,X[98,41]=0.529,X[99,41]=0.576,X[100,41]=0.553 X[1,42]=0.510,X[2,42]=0.525,X[3,42]=0.490,X[4,42]=0.467,X[5,42]=0.455,X[6,42]=0.490,X[7,42]=0.502,X[8,42]=0.427,X[9,42]=0.275,X[10,42]=0.161,X[11,42]=0.325,X[12,42]=0.608,X[13,42]=0.416,X[14,42]=0.282,X[15,42]=0.275,X[16,42]=0.275,X[17,42]=0.647,X[18,42]=0.925,X[19,42]=0.557,X[20,42]=0.224,X[21,42]=0.204,X[22,42]=0.447,X[23,42]=0.471,X[24,42]=0.388,X[25,42]=0.322,X[26,42]=0.192,X[27,42]=0.090,X[28,42]=0.514,X[29,42]=0.761,X[30,42]=0.710,X[31,42]=0.667,X[32,42]=0.549,X[33,42]=0.439,X[34,42]=0.424,X[35,42]=0.537,X[36,42]=0.420,X[37,42]=0.529,X[38,42]=0.675,X[39,42]=0.635,X[40,42]=0.584,X[41,42]=0.557,X[42,42]=0.494,X[43,42]=0.631,X[44,42]=0.475,X[45,42]=0.439,X[46,42]=0.494,X[47,42]=0.600,X[48,42]=0.741,X[49,42]=0.561,X[50,42]=0.502 X[51,42]=0.533,X[52,42]=0.486,X[53,42]=0.514,X[54,42]=0.318,X[55,42]=0.439,X[56,42]=0.580,X[57,42]=0.600,X[58,42]=0.404,X[59,42]=0.490,X[60,42]=0.647,X[61,42]=0.776,X[62,42]=0.569,X[63,42]=0.494,X[64,42]=0.455,X[65,42]=0.494,X[66,42]=0.502,X[67,42]=0.498,X[68,42]=0.439,X[69,42]=0.451,X[70,42]=0.518,X[71,42]=0.506,X[72,42]=0.490,X[73,42]=0.533,X[74,42]=0.557,X[75,42]=0.518,X[76,42]=0.659,X[77,42]=0.737,X[78,42]=0.588,X[79,42]=0.722,X[80,42]=0.573,X[81,42]=0.498,X[82,42]=0.490,X[83,42]=0.467,X[84,42]=0.537,X[85,42]=0.592,X[86,42]=0.561,X[87,42]=0.533,X[88,42]=0.541,X[89,42]=0.600,X[90,42]=0.549,X[91,42]=0.475,X[92,42]=0.537,X[93,42]=0.478,X[94,42]=0.443,X[95,42]=0.514,X[96,42]=0.533,X[97,42]=0.533,X[98,42]=0.596,X[99,42]=0.608,X[100,42]=0.584 X[1,43]=0.455,X[2,43]=0.490,X[3,43]=0.502,X[4,43]=0.525,X[5,43]=0.435,X[6,43]=0.471,X[7,43]=0.478,X[8,43]=0.447,X[9,43]=0.224,X[10,43]=0.125,X[11,43]=0.384,X[12,43]=0.471,X[13,43]=0.471,X[14,43]=0.357,X[15,43]=0.251,X[16,43]=0.212,X[17,43]=0.510,X[18,43]=0.796,X[19,43]=0.584,X[20,43]=0.357,X[21,43]=0.361,X[22,43]=0.506,X[23,43]=0.408,X[24,43]=0.459,X[25,43]=0.431,X[26,43]=0.259,X[27,43]=0.078,X[28,43]=0.541,X[29,43]=0.816,X[30,43]=0.671,X[31,43]=0.796,X[32,43]=0.878,X[33,43]=0.573,X[34,43]=0.514,X[35,43]=0.518,X[36,43]=0.514,X[37,43]=0.549,X[38,43]=0.655,X[39,43]=0.580,X[40,43]=0.620,X[41,43]=0.580,X[42,43]=0.514,X[43,43]=0.694,X[44,43]=0.537,X[45,43]=0.482,X[46,43]=0.478,X[47,43]=0.565,X[48,43]=0.580,X[49,43]=0.494,X[50,43]=0.565 X[51,43]=0.529,X[52,43]=0.502,X[53,43]=0.282,X[54,43]=0.192,X[55,43]=0.349,X[56,43]=0.435,X[57,43]=0.463,X[58,43]=0.365,X[59,43]=0.533,X[60,43]=0.337,X[61,43]=0.702,X[62,43]=0.698,X[63,43]=0.537,X[64,43]=0.447,X[65,43]=0.447,X[66,43]=0.478,X[67,43]=0.475,X[68,43]=0.459,X[69,43]=0.553,X[70,43]=0.545,X[71,43]=0.612,X[72,43]=0.627,X[73,43]=0.498,X[74,43]=0.486,X[75,43]=0.443,X[76,43]=0.686,X[77,43]=0.867,X[78,43]=0.592,X[79,43]=0.733,X[80,43]=0.667,X[81,43]=0.722,X[82,43]=0.573,X[83,43]=0.553,X[84,43]=0.612,X[85,43]=0.600,X[86,43]=0.545,X[87,43]=0.498,X[88,43]=0.447,X[89,43]=0.498,X[90,43]=0.537,X[91,43]=0.518,X[92,43]=0.490,X[93,43]=0.494,X[94,43]=0.502,X[95,43]=0.545,X[96,43]=0.549,X[97,43]=0.557,X[98,43]=0.494,X[99,43]=0.435,X[100,43]=0.447 X[1,44]=0.478,X[2,44]=0.459,X[3,44]=0.529,X[4,44]=0.529,X[5,44]=0.478,X[6,44]=0.518,X[7,44]=0.514,X[8,44]=0.518,X[9,44]=0.353,X[10,44]=0.408,X[11,44]=0.561,X[12,44]=0.522,X[13,44]=0.604,X[14,44]=0.698,X[15,44]=0.376,X[16,44]=0.114,X[17,44]=0.431,X[18,44]=0.588,X[19,44]=0.506,X[20,44]=0.616,X[21,44]=0.565,X[22,44]=0.580,X[23,44]=0.549,X[24,44]=0.612,X[25,44]=0.612,X[26,44]=0.561,X[27,44]=0.490,X[28,44]=0.459,X[29,44]=0.694,X[30,44]=0.710,X[31,44]=0.839,X[32,44]=0.757,X[33,44]=0.569,X[34,44]=0.596,X[35,44]=0.471,X[36,44]=0.416,X[37,44]=0.420,X[38,44]=0.424,X[39,44]=0.416,X[40,44]=0.502,X[41,44]=0.447,X[42,44]=0.486,X[43,44]=0.592,X[44,44]=0.553,X[45,44]=0.502,X[46,44]=0.475,X[47,44]=0.482,X[48,44]=0.498,X[49,44]=0.455,X[50,44]=0.502 X[51,44]=0.596,X[52,44]=0.667,X[53,44]=0.490,X[54,44]=0.584,X[55,44]=0.478,X[56,44]=0.514,X[57,44]=0.494,X[58,44]=0.482,X[59,44]=0.416,X[60,44]=0.467,X[61,44]=0.525,X[62,44]=0.627,X[63,44]=0.545,X[64,44]=0.522,X[65,44]=0.490,X[66,44]=0.486,X[67,44]=0.459,X[68,44]=0.427,X[69,44]=0.529,X[70,44]=0.584,X[71,44]=0.573,X[72,44]=0.537,X[73,44]=0.529,X[74,44]=0.482,X[75,44]=0.404,X[76,44]=0.533,X[77,44]=0.612,X[78,44]=0.722,X[79,44]=0.761,X[80,44]=0.831,X[81,44]=0.725,X[82,44]=0.463,X[83,44]=0.506,X[84,44]=0.557,X[85,44]=0.494,X[86,44]=0.459,X[87,44]=0.416,X[88,44]=0.455,X[89,44]=0.478,X[90,44]=0.459,X[91,44]=0.565,X[92,44]=0.592,X[93,44]=0.525,X[94,44]=0.502,X[95,44]=0.451,X[96,44]=0.443,X[97,44]=0.506,X[98,44]=0.490,X[99,44]=0.494,X[100,44]=0.502 X[1,45]=0.576,X[2,45]=0.553,X[3,45]=0.612,X[4,45]=0.584,X[5,45]=0.576,X[6,45]=0.592,X[7,45]=0.588,X[8,45]=0.541,X[9,45]=0.471,X[10,45]=0.529,X[11,45]=0.541,X[12,45]=0.565,X[13,45]=0.698,X[14,45]=0.784,X[15,45]=0.647,X[16,45]=0.278,X[17,45]=0.392,X[18,45]=0.482,X[19,45]=0.655,X[20,45]=0.839,X[21,45]=0.718,X[22,45]=0.588,X[23,45]=0.565,X[24,45]=0.518,X[25,45]=0.522,X[26,45]=0.420,X[27,45]=0.533,X[28,45]=0.710,X[29,45]=0.514,X[30,45]=0.471,X[31,45]=0.714,X[32,45]=0.694,X[33,45]=0.804,X[34,45]=0.655,X[35,45]=0.306,X[36,45]=0.227,X[37,45]=0.306,X[38,45]=0.392,X[39,45]=0.408,X[40,45]=0.463,X[41,45]=0.369,X[42,45]=0.384,X[43,45]=0.459,X[44,45]=0.486,X[45,45]=0.494,X[46,45]=0.424,X[47,45]=0.408,X[48,45]=0.384,X[49,45]=0.455,X[50,45]=0.518 X[51,45]=0.765,X[52,45]=0.800,X[53,45]=0.620,X[54,45]=0.529,X[55,45]=0.475,X[56,45]=0.522,X[57,45]=0.592,X[58,45]=0.765,X[59,45]=0.392,X[60,45]=0.353,X[61,45]=0.533,X[62,45]=0.573,X[63,45]=0.620,X[64,45]=0.643,X[65,45]=0.584,X[66,45]=0.537,X[67,45]=0.443,X[68,45]=0.439,X[69,45]=0.424,X[70,45]=0.443,X[71,45]=0.522,X[72,45]=0.537,X[73,45]=0.541,X[74,45]=0.475,X[75,45]=0.518,X[76,45]=0.596,X[77,45]=0.522,X[78,45]=0.698,X[79,45]=0.702,X[80,45]=0.702,X[81,45]=0.631,X[82,45]=0.612,X[83,45]=0.498,X[84,45]=0.463,X[85,45]=0.545,X[86,45]=0.529,X[87,45]=0.502,X[88,45]=0.447,X[89,45]=0.435,X[90,45]=0.518,X[91,45]=0.529,X[92,45]=0.506,X[93,45]=0.502,X[94,45]=0.420,X[95,45]=0.427,X[96,45]=0.498,X[97,45]=0.510,X[98,45]=0.529,X[99,45]=0.569,X[100,45]=0.518 X[1,46]=0.529,X[2,46]=0.533,X[3,46]=0.616,X[4,46]=0.604,X[5,46]=0.573,X[6,46]=0.502,X[7,46]=0.459,X[8,46]=0.467,X[9,46]=0.463,X[10,46]=0.459,X[11,46]=0.384,X[12,46]=0.290,X[13,46]=0.565,X[14,46]=0.761,X[15,46]=0.769,X[16,46]=0.647,X[17,46]=0.486,X[18,46]=0.361,X[19,46]=0.682,X[20,46]=0.816,X[21,46]=0.714,X[22,46]=0.494,X[23,46]=0.471,X[24,46]=0.247,X[25,46]=0.231,X[26,46]=0.439,X[27,46]=0.271,X[28,46]=0.533,X[29,46]=0.357,X[30,46]=0.451,X[31,46]=0.792,X[32,46]=0.741,X[33,46]=0.651,X[34,46]=0.522,X[35,46]=0.337,X[36,46]=0.267,X[37,46]=0.259,X[38,46]=0.325,X[39,46]=0.361,X[40,46]=0.400,X[41,46]=0.400,X[42,46]=0.376,X[43,46]=0.478,X[44,46]=0.525,X[45,46]=0.592,X[46,46]=0.416,X[47,46]=0.271,X[48,46]=0.306,X[49,46]=0.475,X[50,46]=0.596 X[51,46]=0.600,X[52,46]=0.529,X[53,46]=0.486,X[54,46]=0.471,X[55,46]=0.502,X[56,46]=0.549,X[57,46]=0.616,X[58,46]=0.635,X[59,46]=0.475,X[60,46]=0.412,X[61,46]=0.514,X[62,46]=0.553,X[63,46]=0.557,X[64,46]=0.514,X[65,46]=0.482,X[66,46]=0.518,X[67,46]=0.467,X[68,46]=0.408,X[69,46]=0.388,X[70,46]=0.498,X[71,46]=0.447,X[72,46]=0.357,X[73,46]=0.380,X[74,46]=0.345,X[75,46]=0.290,X[76,46]=0.549,X[77,46]=0.435,X[78,46]=0.294,X[79,46]=0.639,X[80,46]=0.882,X[81,46]=0.769,X[82,46]=0.698,X[83,46]=0.565,X[84,46]=0.459,X[85,46]=0.529,X[86,46]=0.529,X[87,46]=0.541,X[88,46]=0.490,X[89,46]=0.459,X[90,46]=0.671,X[91,46]=0.561,X[92,46]=0.471,X[93,46]=0.490,X[94,46]=0.478,X[95,46]=0.427,X[96,46]=0.455,X[97,46]=0.486,X[98,46]=0.498,X[99,46]=0.427,X[100,46]=0.451 X[1,47]=0.471,X[2,47]=0.463,X[3,47]=0.482,X[4,47]=0.510,X[5,47]=0.486,X[6,47]=0.502,X[7,47]=0.502,X[8,47]=0.439,X[9,47]=0.431,X[10,47]=0.416,X[11,47]=0.298,X[12,47]=0.188,X[13,47]=0.333,X[14,47]=0.686,X[15,47]=0.835,X[16,47]=0.800,X[17,47]=0.369,X[18,47]=0.239,X[19,47]=0.624,X[20,47]=0.757,X[21,47]=0.722,X[22,47]=0.514,X[23,47]=0.510,X[24,47]=0.490,X[25,47]=0.392,X[26,47]=0.478,X[27,47]=0.486,X[28,47]=0.482,X[29,47]=0.471,X[30,47]=0.541,X[31,47]=0.553,X[32,47]=0.608,X[33,47]=0.804,X[34,47]=0.514,X[35,47]=0.357,X[36,47]=0.271,X[37,47]=0.200,X[38,47]=0.192,X[39,47]=0.192,X[40,47]=0.204,X[41,47]=0.498,X[42,47]=0.620,X[43,47]=0.608,X[44,47]=0.663,X[45,47]=0.580,X[46,47]=0.478,X[47,47]=0.306,X[48,47]=0.325,X[49,47]=0.420,X[50,47]=0.478 X[51,47]=0.525,X[52,47]=0.541,X[53,47]=0.482,X[54,47]=0.471,X[55,47]=0.424,X[56,47]=0.341,X[57,47]=0.345,X[58,47]=0.404,X[59,47]=0.435,X[60,47]=0.451,X[61,47]=0.427,X[62,47]=0.463,X[63,47]=0.522,X[64,47]=0.475,X[65,47]=0.475,X[66,47]=0.494,X[67,47]=0.471,X[68,47]=0.439,X[69,47]=0.408,X[70,47]=0.475,X[71,47]=0.467,X[72,47]=0.267,X[73,47]=0.016,X[74,47]=0.184,X[75,47]=0.286,X[76,47]=0.459,X[77,47]=0.353,X[78,47]=0.353,X[79,47]=0.655,X[80,47]=0.710,X[81,47]=0.737,X[82,47]=0.655,X[83,47]=0.467,X[84,47]=0.482,X[85,47]=0.506,X[86,47]=0.482,X[87,47]=0.537,X[88,47]=0.576,X[89,47]=0.600,X[90,47]=0.722,X[91,47]=0.635,X[92,47]=0.620,X[93,47]=0.486,X[94,47]=0.486,X[95,47]=0.498,X[96,47]=0.482,X[97,47]=0.510,X[98,47]=0.600,X[99,47]=0.463,X[100,47]=0.424 X[1,48]=0.435,X[2,48]=0.404,X[3,48]=0.490,X[4,48]=0.518,X[5,48]=0.545,X[6,48]=0.537,X[7,48]=0.525,X[8,48]=0.502,X[9,48]=0.463,X[10,48]=0.424,X[11,48]=0.333,X[12,48]=0.239,X[13,48]=0.271,X[14,48]=0.514,X[15,48]=0.804,X[16,48]=0.800,X[17,48]=0.408,X[18,48]=0.400,X[19,48]=0.533,X[20,48]=0.773,X[21,48]=0.718,X[22,48]=0.541,X[23,48]=0.592,X[24,48]=0.690,X[25,48]=0.690,X[26,48]=0.518,X[27,48]=0.600,X[28,48]=0.553,X[29,48]=0.471,X[30,48]=0.475,X[31,48]=0.737,X[32,48]=0.694,X[33,48]=0.592,X[34,48]=0.518,X[35,48]=0.502,X[36,48]=0.384,X[37,48]=0.294,X[38,48]=0.298,X[39,48]=0.322,X[40,48]=0.325,X[41,48]=0.463,X[42,48]=0.522,X[43,48]=0.502,X[44,48]=0.643,X[45,48]=0.753,X[46,48]=0.647,X[47,48]=0.467,X[48,48]=0.384,X[49,48]=0.443,X[50,48]=0.506 X[51,48]=0.537,X[52,48]=0.584,X[53,48]=0.529,X[54,48]=0.357,X[55,48]=0.275,X[56,48]=0.361,X[57,48]=0.451,X[58,48]=0.490,X[59,48]=0.494,X[60,48]=0.392,X[61,48]=0.392,X[62,48]=0.518,X[63,48]=0.549,X[64,48]=0.565,X[65,48]=0.561,X[66,48]=0.580,X[67,48]=0.565,X[68,48]=0.514,X[69,48]=0.522,X[70,48]=0.514,X[71,48]=0.514,X[72,48]=0.502,X[73,48]=0.259,X[74,48]=0.192,X[75,48]=0.627,X[76,48]=0.655,X[77,48]=0.490,X[78,48]=0.451,X[79,48]=0.561,X[80,48]=0.627,X[81,48]=0.616,X[82,48]=0.753,X[83,48]=0.537,X[84,48]=0.471,X[85,48]=0.490,X[86,48]=0.541,X[87,48]=0.518,X[88,48]=0.376,X[89,48]=0.608,X[90,48]=0.827,X[91,48]=0.796,X[92,48]=0.780,X[93,48]=0.624,X[94,48]=0.549,X[95,48]=0.565,X[96,48]=0.557,X[97,48]=0.553,X[98,48]=0.502,X[99,48]=0.494,X[100,48]=0.502 X[1,49]=0.459,X[2,49]=0.416,X[3,49]=0.506,X[4,49]=0.569,X[5,49]=0.549,X[6,49]=0.573,X[7,49]=0.561,X[8,49]=0.549,X[9,49]=0.518,X[10,49]=0.486,X[11,49]=0.337,X[12,49]=0.224,X[13,49]=0.227,X[14,49]=0.412,X[15,49]=0.784,X[16,49]=0.706,X[17,49]=0.384,X[18,49]=0.498,X[19,49]=0.514,X[20,49]=0.831,X[21,49]=0.737,X[22,49]=0.502,X[23,49]=0.502,X[24,49]=0.478,X[25,49]=0.537,X[26,49]=0.529,X[27,49]=0.388,X[28,49]=0.478,X[29,49]=0.404,X[30,49]=0.337,X[31,49]=0.435,X[32,49]=0.906,X[33,49]=0.620,X[34,49]=0.502,X[35,49]=0.573,X[36,49]=0.498,X[37,49]=0.525,X[38,49]=0.675,X[39,49]=0.482,X[40,49]=0.333,X[41,49]=0.349,X[42,49]=0.357,X[43,49]=0.467,X[44,49]=0.545,X[45,49]=0.737,X[46,49]=0.765,X[47,49]=0.596,X[48,49]=0.494,X[49,49]=0.439,X[50,49]=0.502 X[51,49]=0.502,X[52,49]=0.529,X[53,49]=0.549,X[54,49]=0.573,X[55,49]=0.741,X[56,49]=0.855,X[57,49]=0.678,X[58,49]=0.518,X[59,49]=0.459,X[60,49]=0.392,X[61,49]=0.416,X[62,49]=0.604,X[63,49]=0.576,X[64,49]=0.553,X[65,49]=0.769,X[66,49]=0.659,X[67,49]=0.733,X[68,49]=0.639,X[69,49]=0.514,X[70,49]=0.514,X[71,49]=0.553,X[72,49]=0.561,X[73,49]=0.376,X[74,49]=0.220,X[75,49]=0.373,X[76,49]=0.600,X[77,49]=0.478,X[78,49]=0.380,X[79,49]=0.424,X[80,49]=0.698,X[81,49]=0.800,X[82,49]=0.557,X[83,49]=0.494,X[84,49]=0.482,X[85,49]=0.490,X[86,49]=0.357,X[87,49]=0.290,X[88,49]=0.176,X[89,49]=0.471,X[90,49]=0.706,X[91,49]=0.710,X[92,49]=0.651,X[93,49]=0.678,X[94,49]=0.592,X[95,49]=0.498,X[96,49]=0.471,X[97,49]=0.471,X[98,49]=0.486,X[99,49]=0.518,X[100,49]=0.502 X[1,50]=0.416,X[2,50]=0.435,X[3,50]=0.439,X[4,50]=0.459,X[5,50]=0.553,X[6,50]=0.592,X[7,50]=0.561,X[8,50]=0.494,X[9,50]=0.475,X[10,50]=0.506,X[11,50]=0.376,X[12,50]=0.243,X[13,50]=0.137,X[14,50]=0.322,X[15,50]=0.647,X[16,50]=0.533,X[17,50]=0.400,X[18,50]=0.498,X[19,50]=0.565,X[20,50]=0.835,X[21,50]=0.694,X[22,50]=0.494,X[23,50]=0.502,X[24,50]=0.459,X[25,50]=0.518,X[26,50]=0.451,X[27,50]=0.157,X[28,50]=0.310,X[29,50]=0.141,X[30,50]=0.275,X[31,50]=0.424,X[32,50]=0.659,X[33,50]=0.616,X[34,50]=0.525,X[35,50]=0.569,X[36,50]=0.529,X[37,50]=0.518,X[38,50]=0.561,X[39,50]=0.451,X[40,50]=0.380,X[41,50]=0.388,X[42,50]=0.400,X[43,50]=0.427,X[44,50]=0.506,X[45,50]=0.671,X[46,50]=0.675,X[47,50]=0.600,X[48,50]=0.549,X[49,50]=0.463,X[50,50]=0.475 X[51,50]=0.471,X[52,50]=0.518,X[53,50]=0.612,X[54,50]=0.757,X[55,50]=0.843,X[56,50]=0.843,X[57,50]=0.812,X[58,50]=0.792,X[59,50]=0.655,X[60,50]=0.498,X[61,50]=0.455,X[62,50]=0.757,X[63,50]=0.788,X[64,50]=0.612,X[65,50]=0.796,X[66,50]=0.694,X[67,50]=0.800,X[68,50]=0.659,X[69,50]=0.584,X[70,50]=0.624,X[71,50]=0.596,X[72,50]=0.447,X[73,50]=0.216,X[74,50]=0.216,X[75,50]=0.169,X[76,50]=0.380,X[77,50]=0.322,X[78,50]=0.318,X[79,50]=0.510,X[80,50]=0.388,X[81,50]=0.765,X[82,50]=0.651,X[83,50]=0.569,X[84,50]=0.518,X[85,50]=0.502,X[86,50]=0.380,X[87,50]=0.220,X[88,50]=0.184,X[89,50]=0.388,X[90,50]=0.353,X[91,50]=0.561,X[92,50]=0.643,X[93,50]=0.518,X[94,50]=0.471,X[95,50]=0.478,X[96,50]=0.576,X[97,50]=0.522,X[98,50]=0.514,X[99,50]=0.647,X[100,50]=0.569 X[1,51]=0.431,X[2,51]=0.400,X[3,51]=0.455,X[4,51]=0.463,X[5,51]=0.482,X[6,51]=0.518,X[7,51]=0.498,X[8,51]=0.471,X[9,51]=0.616,X[10,51]=0.718,X[11,51]=0.678,X[12,51]=0.478,X[13,51]=0.247,X[14,51]=0.314,X[15,51]=0.729,X[16,51]=0.510,X[17,51]=0.455,X[18,51]=0.490,X[19,51]=0.612,X[20,51]=0.725,X[21,51]=0.529,X[22,51]=0.518,X[23,51]=0.549,X[24,51]=0.478,X[25,51]=0.498,X[26,51]=0.290,X[27,51]=0.243,X[28,51]=0.420,X[29,51]=0.349,X[30,51]=0.114,X[31,51]=0.373,X[32,51]=0.529,X[33,51]=0.518,X[34,51]=0.600,X[35,51]=0.600,X[36,51]=0.478,X[37,51]=0.353,X[38,51]=0.365,X[39,51]=0.447,X[40,51]=0.494,X[41,51]=0.486,X[42,51]=0.459,X[43,51]=0.286,X[44,51]=0.325,X[45,51]=0.592,X[46,51]=0.529,X[47,51]=0.569,X[48,51]=0.533,X[49,51]=0.498,X[50,51]=0.494 X[51,51]=0.510,X[52,51]=0.490,X[53,51]=0.404,X[54,51]=0.392,X[55,51]=0.604,X[56,51]=0.792,X[57,51]=0.910,X[58,51]=0.953,X[59,51]=0.780,X[60,51]=0.545,X[61,51]=0.455,X[62,51]=0.659,X[63,51]=0.675,X[64,51]=0.667,X[65,51]=0.612,X[66,51]=0.714,X[67,51]=0.867,X[68,51]=0.800,X[69,51]=0.769,X[70,51]=0.573,X[71,51]=0.471,X[72,51]=0.408,X[73,51]=0.384,X[74,51]=0.306,X[75,51]=0.255,X[76,51]=0.290,X[77,51]=0.286,X[78,51]=0.176,X[79,51]=0.275,X[80,51]=0.455,X[81,51]=0.549,X[82,51]=0.522,X[83,51]=0.525,X[84,51]=0.557,X[85,51]=0.604,X[86,51]=0.616,X[87,51]=0.463,X[88,51]=0.400,X[89,51]=0.431,X[90,51]=0.341,X[91,51]=0.380,X[92,51]=0.518,X[93,51]=0.537,X[94,51]=0.514,X[95,51]=0.584,X[96,51]=0.624,X[97,51]=0.573,X[98,51]=0.596,X[99,51]=0.588,X[100,51]=0.541 X[1,52]=0.525,X[2,52]=0.506,X[3,52]=0.451,X[4,52]=0.416,X[5,52]=0.471,X[6,52]=0.502,X[7,52]=0.506,X[8,52]=0.525,X[9,52]=0.706,X[10,52]=0.784,X[11,52]=0.863,X[12,52]=0.702,X[13,52]=0.510,X[14,52]=0.455,X[15,52]=0.675,X[16,52]=0.557,X[17,52]=0.494,X[18,52]=0.478,X[19,52]=0.537,X[20,52]=0.541,X[21,52]=0.478,X[22,52]=0.561,X[23,52]=0.522,X[24,52]=0.506,X[25,52]=0.561,X[26,52]=0.561,X[27,52]=0.702,X[28,52]=0.765,X[29,52]=0.824,X[30,52]=0.600,X[31,52]=0.439,X[32,52]=0.529,X[33,52]=0.553,X[34,52]=0.588,X[35,52]=0.545,X[36,52]=0.400,X[37,52]=0.286,X[38,52]=0.259,X[39,52]=0.329,X[40,52]=0.322,X[41,52]=0.275,X[42,52]=0.251,X[43,52]=0.145,X[44,52]=0.345,X[45,52]=0.510,X[46,52]=0.443,X[47,52]=0.502,X[48,52]=0.506,X[49,52]=0.478,X[50,52]=0.498 X[51,52]=0.451,X[52,52]=0.494,X[53,52]=0.475,X[54,52]=0.310,X[55,52]=0.243,X[56,52]=0.447,X[57,52]=0.706,X[58,52]=0.808,X[59,52]=0.824,X[60,52]=0.596,X[61,52]=0.545,X[62,52]=0.600,X[63,52]=0.537,X[64,52]=0.651,X[65,52]=0.576,X[66,52]=0.573,X[67,52]=0.753,X[68,52]=0.714,X[69,52]=0.812,X[70,52]=0.776,X[71,52]=0.459,X[72,52]=0.482,X[73,52]=0.478,X[74,52]=0.318,X[75,52]=0.451,X[76,52]=0.373,X[77,52]=0.224,X[78,52]=0.400,X[79,52]=0.169,X[80,52]=0.361,X[81,52]=0.420,X[82,52]=0.463,X[83,52]=0.498,X[84,52]=0.522,X[85,52]=0.584,X[86,52]=0.533,X[87,52]=0.439,X[88,52]=0.686,X[89,52]=0.659,X[90,52]=0.388,X[91,52]=0.443,X[92,52]=0.498,X[93,52]=0.588,X[94,52]=0.663,X[95,52]=0.678,X[96,52]=0.553,X[97,52]=0.420,X[98,52]=0.447,X[99,52]=0.506,X[100,52]=0.455 X[1,53]=0.494,X[2,53]=0.471,X[3,53]=0.424,X[4,53]=0.376,X[5,53]=0.451,X[6,53]=0.463,X[7,53]=0.388,X[8,53]=0.353,X[9,53]=0.412,X[10,53]=0.537,X[11,53]=0.722,X[12,53]=0.667,X[13,53]=0.396,X[14,53]=0.455,X[15,53]=0.529,X[16,53]=0.533,X[17,53]=0.498,X[18,53]=0.467,X[19,53]=0.482,X[20,53]=0.471,X[21,53]=0.443,X[22,53]=0.482,X[23,53]=0.604,X[24,53]=0.690,X[25,53]=0.706,X[26,53]=0.722,X[27,53]=0.753,X[28,53]=0.792,X[29,53]=0.875,X[30,53]=0.816,X[31,53]=0.573,X[32,53]=0.490,X[33,53]=0.490,X[34,53]=0.427,X[35,53]=0.420,X[36,53]=0.373,X[37,53]=0.282,X[38,53]=0.282,X[39,53]=0.251,X[40,53]=0.212,X[41,53]=0.365,X[42,53]=0.345,X[43,53]=0.208,X[44,53]=0.420,X[45,53]=0.447,X[46,53]=0.408,X[47,53]=0.431,X[48,53]=0.494,X[49,53]=0.463,X[50,53]=0.463 X[51,53]=0.373,X[52,53]=0.549,X[53,53]=0.565,X[54,53]=0.490,X[55,53]=0.192,X[56,53]=0.137,X[57,53]=0.373,X[58,53]=0.651,X[59,53]=0.804,X[60,53]=0.506,X[61,53]=0.384,X[62,53]=0.549,X[63,53]=0.384,X[64,53]=0.337,X[65,53]=0.522,X[66,53]=0.510,X[67,53]=0.525,X[68,53]=0.608,X[69,53]=0.804,X[70,53]=0.910,X[71,53]=0.714,X[72,53]=0.455,X[73,53]=0.420,X[74,53]=0.490,X[75,53]=0.776,X[76,53]=0.757,X[77,53]=0.478,X[78,53]=0.502,X[79,53]=0.435,X[80,53]=0.514,X[81,53]=0.463,X[82,53]=0.459,X[83,53]=0.427,X[84,53]=0.420,X[85,53]=0.412,X[86,53]=0.322,X[87,53]=0.510,X[88,53]=0.784,X[89,53]=0.824,X[90,53]=0.667,X[91,53]=0.482,X[92,53]=0.439,X[93,53]=0.545,X[94,53]=0.780,X[95,53]=0.733,X[96,53]=0.522,X[97,53]=0.486,X[98,53]=0.502,X[99,53]=0.510,X[100,53]=0.506 X[1,54]=0.541,X[2,54]=0.545,X[3,54]=0.404,X[4,54]=0.435,X[5,54]=0.482,X[6,54]=0.427,X[7,54]=0.294,X[8,54]=0.231,X[9,54]=0.290,X[10,54]=0.365,X[11,54]=0.427,X[12,54]=0.502,X[13,54]=0.384,X[14,54]=0.345,X[15,54]=0.431,X[16,54]=0.475,X[17,54]=0.529,X[18,54]=0.412,X[19,54]=0.357,X[20,54]=0.341,X[21,54]=0.463,X[22,54]=0.592,X[23,54]=0.722,X[24,54]=0.647,X[25,54]=0.545,X[26,54]=0.494,X[27,54]=0.475,X[28,54]=0.561,X[29,54]=0.831,X[30,54]=0.765,X[31,54]=0.478,X[32,54]=0.427,X[33,54]=0.443,X[34,54]=0.471,X[35,54]=0.443,X[36,54]=0.435,X[37,54]=0.490,X[38,54]=0.498,X[39,54]=0.486,X[40,54]=0.431,X[41,54]=0.431,X[42,54]=0.325,X[43,54]=0.329,X[44,54]=0.459,X[45,54]=0.533,X[46,54]=0.365,X[47,54]=0.322,X[48,54]=0.490,X[49,54]=0.576,X[50,54]=0.498 X[51,54]=0.247,X[52,54]=0.482,X[53,54]=0.749,X[54,54]=0.702,X[55,54]=0.353,X[56,54]=0.157,X[57,54]=0.278,X[58,54]=0.369,X[59,54]=0.345,X[60,54]=0.365,X[61,54]=0.263,X[62,54]=0.447,X[63,54]=0.337,X[64,54]=0.412,X[65,54]=0.557,X[66,54]=0.565,X[67,54]=0.475,X[68,54]=0.420,X[69,54]=0.698,X[70,54]=0.804,X[71,54]=0.808,X[72,54]=0.545,X[73,54]=0.302,X[74,54]=0.514,X[75,54]=0.886,X[76,54]=0.878,X[77,54]=0.682,X[78,54]=0.502,X[79,54]=0.490,X[80,54]=0.502,X[81,54]=0.612,X[82,54]=0.635,X[83,54]=0.439,X[84,54]=0.412,X[85,54]=0.369,X[86,54]=0.118,X[87,54]=0.271,X[88,54]=0.682,X[89,54]=0.816,X[90,54]=0.827,X[91,54]=0.553,X[92,54]=0.267,X[93,54]=0.506,X[94,54]=0.753,X[95,54]=0.800,X[96,54]=0.659,X[97,54]=0.490,X[98,54]=0.541,X[99,54]=0.588,X[100,54]=0.773 X[1,55]=0.671,X[2,55]=0.667,X[3,55]=0.502,X[4,55]=0.533,X[5,55]=0.522,X[6,55]=0.463,X[7,55]=0.349,X[8,55]=0.275,X[9,55]=0.263,X[10,55]=0.373,X[11,55]=0.518,X[12,55]=0.475,X[13,55]=0.467,X[14,55]=0.463,X[15,55]=0.529,X[16,55]=0.573,X[17,55]=0.569,X[18,55]=0.424,X[19,55]=0.271,X[20,55]=0.302,X[21,55]=0.443,X[22,55]=0.537,X[23,55]=0.541,X[24,55]=0.514,X[25,55]=0.475,X[26,55]=0.482,X[27,55]=0.510,X[28,55]=0.561,X[29,55]=0.698,X[30,55]=0.545,X[31,55]=0.439,X[32,55]=0.455,X[33,55]=0.471,X[34,55]=0.510,X[35,55]=0.494,X[36,55]=0.431,X[37,55]=0.502,X[38,55]=0.584,X[39,55]=0.525,X[40,55]=0.486,X[41,55]=0.353,X[42,55]=0.325,X[43,55]=0.416,X[44,55]=0.525,X[45,55]=0.639,X[46,55]=0.278,X[47,55]=0.278,X[48,55]=0.482,X[49,55]=0.702,X[50,55]=0.573 X[51,55]=0.278,X[52,55]=0.290,X[53,55]=0.608,X[54,55]=0.702,X[55,55]=0.498,X[56,55]=0.176,X[57,55]=0.255,X[58,55]=0.443,X[59,55]=0.247,X[60,55]=0.365,X[61,55]=0.651,X[62,55]=0.635,X[63,55]=0.490,X[64,55]=0.510,X[65,55]=0.608,X[66,55]=0.667,X[67,55]=0.467,X[68,55]=0.322,X[69,55]=0.467,X[70,55]=0.780,X[71,55]=0.843,X[72,55]=0.620,X[73,55]=0.227,X[74,55]=0.404,X[75,55]=0.757,X[76,55]=0.878,X[77,55]=0.722,X[78,55]=0.502,X[79,55]=0.573,X[80,55]=0.698,X[81,55]=0.851,X[82,55]=0.851,X[83,55]=0.643,X[84,55]=0.494,X[85,55]=0.365,X[86,55]=0.251,X[87,55]=0.216,X[88,55]=0.447,X[89,55]=0.753,X[90,55]=0.859,X[91,55]=0.573,X[92,55]=0.243,X[93,55]=0.451,X[94,55]=0.698,X[95,55]=0.784,X[96,55]=0.616,X[97,55]=0.502,X[98,55]=0.624,X[99,55]=0.776,X[100,55]=0.835 X[1,56]=0.631,X[2,56]=0.620,X[3,56]=0.518,X[4,56]=0.510,X[5,56]=0.482,X[6,56]=0.486,X[7,56]=0.376,X[8,56]=0.298,X[9,56]=0.275,X[10,56]=0.400,X[11,56]=0.690,X[12,56]=0.612,X[13,56]=0.576,X[14,56]=0.627,X[15,56]=0.573,X[16,56]=0.686,X[17,56]=0.647,X[18,56]=0.533,X[19,56]=0.345,X[20,56]=0.329,X[21,56]=0.420,X[22,56]=0.482,X[23,56]=0.537,X[24,56]=0.561,X[25,56]=0.502,X[26,56]=0.420,X[27,56]=0.286,X[28,56]=0.267,X[29,56]=0.475,X[30,56]=0.518,X[31,56]=0.494,X[32,56]=0.510,X[33,56]=0.620,X[34,56]=0.580,X[35,56]=0.451,X[36,56]=0.427,X[37,56]=0.471,X[38,56]=0.576,X[39,56]=0.502,X[40,56]=0.463,X[41,56]=0.345,X[42,56]=0.322,X[43,56]=0.392,X[44,56]=0.620,X[45,56]=0.541,X[46,56]=0.263,X[47,56]=0.251,X[48,56]=0.408,X[49,56]=0.753,X[50,56]=0.718 X[51,56]=0.337,X[52,56]=0.102,X[53,56]=0.306,X[54,56]=0.522,X[55,56]=0.439,X[56,56]=0.200,X[57,56]=0.310,X[58,56]=0.376,X[59,56]=0.290,X[60,56]=0.220,X[61,56]=0.494,X[62,56]=0.675,X[63,56]=0.451,X[64,56]=0.435,X[65,56]=0.435,X[66,56]=0.710,X[67,56]=0.510,X[68,56]=0.196,X[69,56]=0.337,X[70,56]=0.686,X[71,56]=0.875,X[72,56]=0.631,X[73,56]=0.408,X[74,56]=0.455,X[75,56]=0.678,X[76,56]=0.863,X[77,56]=0.710,X[78,56]=0.604,X[79,56]=0.600,X[80,56]=0.671,X[81,56]=0.847,X[82,56]=0.847,X[83,56]=0.663,X[84,56]=0.596,X[85,56]=0.392,X[86,56]=0.224,X[87,56]=0.180,X[88,56]=0.322,X[89,56]=0.647,X[90,56]=0.843,X[91,56]=0.494,X[92,56]=0.400,X[93,56]=0.471,X[94,56]=0.671,X[95,56]=0.831,X[96,56]=0.584,X[97,56]=0.533,X[98,56]=0.545,X[99,56]=0.569,X[100,56]=0.592 X[1,57]=0.490,X[2,57]=0.486,X[3,57]=0.475,X[4,57]=0.478,X[5,57]=0.518,X[6,57]=0.561,X[7,57]=0.482,X[8,57]=0.408,X[9,57]=0.349,X[10,57]=0.357,X[11,57]=0.502,X[12,57]=0.459,X[13,57]=0.424,X[14,57]=0.447,X[15,57]=0.482,X[16,57]=0.604,X[17,57]=0.757,X[18,57]=0.710,X[19,57]=0.529,X[20,57]=0.439,X[21,57]=0.463,X[22,57]=0.514,X[23,57]=0.522,X[24,57]=0.561,X[25,57]=0.518,X[26,57]=0.380,X[27,57]=0.384,X[28,57]=0.506,X[29,57]=0.494,X[30,57]=0.537,X[31,57]=0.616,X[32,57]=0.549,X[33,57]=0.522,X[34,57]=0.478,X[35,57]=0.482,X[36,57]=0.510,X[37,57]=0.510,X[38,57]=0.522,X[39,57]=0.518,X[40,57]=0.455,X[41,57]=0.365,X[42,57]=0.278,X[43,57]=0.376,X[44,57]=0.600,X[45,57]=0.388,X[46,57]=0.278,X[47,57]=0.224,X[48,57]=0.318,X[49,57]=0.690,X[50,57]=0.796 X[51,57]=0.494,X[52,57]=0.243,X[53,57]=0.337,X[54,57]=0.506,X[55,57]=0.471,X[56,57]=0.361,X[57,57]=0.486,X[58,57]=0.298,X[59,57]=0.184,X[60,57]=0.196,X[61,57]=0.173,X[62,57]=0.451,X[63,57]=0.310,X[64,57]=0.420,X[65,57]=0.439,X[66,57]=0.451,X[67,57]=0.584,X[68,57]=0.247,X[69,57]=0.251,X[70,57]=0.549,X[71,57]=0.769,X[72,57]=0.522,X[73,57]=0.431,X[74,57]=0.502,X[75,57]=0.643,X[76,57]=0.839,X[77,57]=0.596,X[78,57]=0.529,X[79,57]=0.482,X[80,57]=0.455,X[81,57]=0.678,X[82,57]=0.733,X[83,57]=0.494,X[84,57]=0.463,X[85,57]=0.380,X[86,57]=0.231,X[87,57]=0.173,X[88,57]=0.235,X[89,57]=0.557,X[90,57]=0.714,X[91,57]=0.427,X[92,57]=0.424,X[93,57]=0.502,X[94,57]=0.702,X[95,57]=0.839,X[96,57]=0.604,X[97,57]=0.498,X[98,57]=0.475,X[99,57]=0.467,X[100,57]=0.482 X[1,58]=0.514,X[2,58]=0.541,X[3,58]=0.580,X[4,58]=0.588,X[5,58]=0.624,X[6,58]=0.576,X[7,58]=0.506,X[8,58]=0.420,X[9,58]=0.325,X[10,58]=0.353,X[11,58]=0.384,X[12,58]=0.322,X[13,58]=0.345,X[14,58]=0.341,X[15,58]=0.439,X[16,58]=0.522,X[17,58]=0.718,X[18,58]=0.757,X[19,58]=0.592,X[20,58]=0.510,X[21,58]=0.439,X[22,58]=0.498,X[23,58]=0.490,X[24,58]=0.541,X[25,58]=0.627,X[26,58]=0.729,X[27,58]=0.808,X[28,58]=0.780,X[29,58]=0.706,X[30,58]=0.545,X[31,58]=0.502,X[32,58]=0.518,X[33,58]=0.435,X[34,58]=0.439,X[35,58]=0.471,X[36,58]=0.451,X[37,58]=0.569,X[38,58]=0.561,X[39,58]=0.545,X[40,58]=0.490,X[41,58]=0.302,X[42,58]=0.192,X[43,58]=0.459,X[44,58]=0.506,X[45,58]=0.400,X[46,58]=0.306,X[47,58]=0.192,X[48,58]=0.145,X[49,58]=0.541,X[50,58]=0.835 X[51,58]=0.604,X[52,58]=0.506,X[53,58]=0.502,X[54,58]=0.490,X[55,58]=0.459,X[56,58]=0.557,X[57,58]=0.643,X[58,58]=0.522,X[59,58]=0.361,X[60,58]=0.239,X[61,58]=0.165,X[62,58]=0.231,X[63,58]=0.263,X[64,58]=0.196,X[65,58]=0.341,X[66,58]=0.451,X[67,58]=0.376,X[68,58]=0.231,X[69,58]=0.188,X[70,58]=0.486,X[71,58]=0.584,X[72,58]=0.443,X[73,58]=0.427,X[74,58]=0.525,X[75,58]=0.663,X[76,58]=0.749,X[77,58]=0.529,X[78,58]=0.494,X[79,58]=0.502,X[80,58]=0.467,X[81,58]=0.553,X[82,58]=0.475,X[83,58]=0.510,X[84,58]=0.576,X[85,58]=0.588,X[86,58]=0.404,X[87,58]=0.224,X[88,58]=0.192,X[89,58]=0.608,X[90,58]=0.624,X[91,58]=0.443,X[92,58]=0.475,X[93,58]=0.529,X[94,58]=0.753,X[95,58]=0.741,X[96,58]=0.502,X[97,58]=0.522,X[98,58]=0.498,X[99,58]=0.490,X[100,58]=0.302 X[1,59]=0.671,X[2,59]=0.675,X[3,59]=0.725,X[4,59]=0.710,X[5,59]=0.655,X[6,59]=0.424,X[7,59]=0.290,X[8,59]=0.380,X[9,59]=0.282,X[10,59]=0.333,X[11,59]=0.427,X[12,59]=0.416,X[13,59]=0.424,X[14,59]=0.443,X[15,59]=0.431,X[16,59]=0.486,X[17,59]=0.639,X[18,59]=0.620,X[19,59]=0.588,X[20,59]=0.557,X[21,59]=0.482,X[22,59]=0.486,X[23,59]=0.486,X[24,59]=0.502,X[25,59]=0.553,X[26,59]=0.671,X[27,59]=0.792,X[28,59]=0.788,X[29,59]=0.788,X[30,59]=0.710,X[31,59]=0.522,X[32,59]=0.584,X[33,59]=0.514,X[34,59]=0.431,X[35,59]=0.451,X[36,59]=0.455,X[37,59]=0.514,X[38,59]=0.525,X[39,59]=0.490,X[40,59]=0.396,X[41,59]=0.239,X[42,59]=0.325,X[43,59]=0.518,X[44,59]=0.514,X[45,59]=0.478,X[46,59]=0.341,X[47,59]=0.259,X[48,59]=0.192,X[49,59]=0.522,X[50,59]=0.757 X[51,59]=0.608,X[52,59]=0.506,X[53,59]=0.443,X[54,59]=0.482,X[55,59]=0.459,X[56,59]=0.502,X[57,59]=0.529,X[58,59]=0.510,X[59,59]=0.427,X[60,59]=0.247,X[61,59]=0.267,X[62,59]=0.173,X[63,59]=0.275,X[64,59]=0.392,X[65,59]=0.361,X[66,59]=0.702,X[67,59]=0.631,X[68,59]=0.408,X[69,59]=0.224,X[70,59]=0.537,X[71,59]=0.667,X[72,59]=0.451,X[73,59]=0.475,X[74,59]=0.525,X[75,59]=0.671,X[76,59]=0.604,X[77,59]=0.502,X[78,59]=0.573,X[79,59]=0.502,X[80,59]=0.502,X[81,59]=0.525,X[82,59]=0.537,X[83,59]=0.694,X[84,59]=0.827,X[85,59]=0.867,X[86,59]=0.729,X[87,59]=0.502,X[88,59]=0.463,X[89,59]=0.725,X[90,59]=0.675,X[91,59]=0.478,X[92,59]=0.475,X[93,59]=0.525,X[94,59]=0.612,X[95,59]=0.537,X[96,59]=0.502,X[97,59]=0.580,X[98,59]=0.506,X[99,59]=0.533,X[100,59]=0.396 X[1,60]=0.784,X[2,60]=0.765,X[3,60]=0.749,X[4,60]=0.776,X[5,60]=0.812,X[6,60]=0.553,X[7,60]=0.243,X[8,60]=0.263,X[9,60]=0.322,X[10,60]=0.455,X[11,60]=0.447,X[12,60]=0.502,X[13,60]=0.525,X[14,60]=0.596,X[15,60]=0.506,X[16,60]=0.439,X[17,60]=0.569,X[18,60]=0.502,X[19,60]=0.541,X[20,60]=0.518,X[21,60]=0.498,X[22,60]=0.490,X[23,60]=0.498,X[24,60]=0.494,X[25,60]=0.424,X[26,60]=0.318,X[27,60]=0.447,X[28,60]=0.675,X[29,60]=0.780,X[30,60]=0.753,X[31,60]=0.553,X[32,60]=0.506,X[33,60]=0.494,X[34,60]=0.506,X[35,60]=0.471,X[36,60]=0.424,X[37,60]=0.404,X[38,60]=0.467,X[39,60]=0.514,X[40,60]=0.482,X[41,60]=0.341,X[42,60]=0.439,X[43,60]=0.514,X[44,60]=0.553,X[45,60]=0.537,X[46,60]=0.510,X[47,60]=0.373,X[48,60]=0.384,X[49,60]=0.741,X[50,60]=0.827 X[51,60]=0.784,X[52,60]=0.714,X[53,60]=0.494,X[54,60]=0.412,X[55,60]=0.420,X[56,60]=0.447,X[57,60]=0.435,X[58,60]=0.443,X[59,60]=0.514,X[60,60]=0.455,X[61,60]=0.486,X[62,60]=0.345,X[63,60]=0.392,X[64,60]=0.659,X[65,60]=0.690,X[66,60]=0.776,X[67,60]=0.792,X[68,60]=0.584,X[69,60]=0.447,X[70,60]=0.541,X[71,60]=0.671,X[72,60]=0.510,X[73,60]=0.486,X[74,60]=0.498,X[75,60]=0.529,X[76,60]=0.498,X[77,60]=0.498,X[78,60]=0.549,X[79,60]=0.608,X[80,60]=0.776,X[81,60]=0.639,X[82,60]=0.722,X[83,60]=0.753,X[84,60]=0.780,X[85,60]=0.835,X[86,60]=0.796,X[87,60]=0.506,X[88,60]=0.478,X[89,60]=0.565,X[90,60]=0.596,X[91,60]=0.514,X[92,60]=0.478,X[93,60]=0.478,X[94,60]=0.490,X[95,60]=0.475,X[96,60]=0.478,X[97,60]=0.529,X[98,60]=0.651,X[99,60]=0.694,X[100,60]=0.729 X[1,61]=0.580,X[2,61]=0.561,X[3,61]=0.678,X[4,61]=0.914,X[5,61]=0.894,X[6,61]=0.631,X[7,61]=0.490,X[8,61]=0.357,X[9,61]=0.498,X[10,61]=0.604,X[11,61]=0.502,X[12,61]=0.584,X[13,61]=0.588,X[14,61]=0.631,X[15,61]=0.404,X[16,61]=0.380,X[17,61]=0.478,X[18,61]=0.427,X[19,61]=0.482,X[20,61]=0.502,X[21,61]=0.459,X[22,61]=0.486,X[23,61]=0.427,X[24,61]=0.502,X[25,61]=0.510,X[26,61]=0.373,X[27,61]=0.149,X[28,61]=0.255,X[29,61]=0.561,X[30,61]=0.549,X[31,61]=0.596,X[32,61]=0.741,X[33,61]=0.573,X[34,61]=0.706,X[35,61]=0.643,X[36,61]=0.459,X[37,61]=0.427,X[38,61]=0.518,X[39,61]=0.502,X[40,61]=0.463,X[41,61]=0.486,X[42,61]=0.451,X[43,61]=0.498,X[44,61]=0.525,X[45,61]=0.431,X[46,61]=0.412,X[47,61]=0.294,X[48,61]=0.329,X[49,61]=0.722,X[50,61]=0.808 X[51,61]=0.690,X[52,61]=0.608,X[53,61]=0.553,X[54,61]=0.478,X[55,61]=0.494,X[56,61]=0.553,X[57,61]=0.545,X[58,61]=0.451,X[59,61]=0.522,X[60,61]=0.620,X[61,61]=0.765,X[62,61]=0.549,X[63,61]=0.349,X[64,61]=0.349,X[65,61]=0.455,X[66,61]=0.584,X[67,61]=0.737,X[68,61]=0.510,X[69,61]=0.384,X[70,61]=0.494,X[71,61]=0.529,X[72,61]=0.522,X[73,61]=0.455,X[74,61]=0.463,X[75,61]=0.455,X[76,61]=0.455,X[77,61]=0.455,X[78,61]=0.518,X[79,61]=0.788,X[80,61]=0.831,X[81,61]=0.647,X[82,61]=0.537,X[83,61]=0.502,X[84,61]=0.518,X[85,61]=0.608,X[86,61]=0.576,X[87,61]=0.357,X[88,61]=0.357,X[89,61]=0.443,X[90,61]=0.486,X[91,61]=0.498,X[92,61]=0.439,X[93,61]=0.427,X[94,61]=0.404,X[95,61]=0.431,X[96,61]=0.467,X[97,61]=0.624,X[98,61]=0.796,X[99,61]=0.757,X[100,61]=0.722 X[1,62]=0.506,X[2,62]=0.510,X[3,62]=0.592,X[4,62]=0.725,X[5,62]=0.643,X[6,62]=0.557,X[7,62]=0.486,X[8,62]=0.294,X[9,62]=0.392,X[10,62]=0.384,X[11,62]=0.553,X[12,62]=0.424,X[13,62]=0.447,X[14,62]=0.424,X[15,62]=0.337,X[16,62]=0.416,X[17,62]=0.459,X[18,62]=0.408,X[19,62]=0.392,X[20,62]=0.502,X[21,62]=0.494,X[22,62]=0.475,X[23,62]=0.361,X[24,62]=0.569,X[25,62]=0.620,X[26,62]=0.565,X[27,62]=0.231,X[28,62]=0.165,X[29,62]=0.455,X[30,62]=0.541,X[31,62]=0.765,X[32,62]=0.973,X[33,62]=0.694,X[34,62]=0.788,X[35,62]=0.702,X[36,62]=0.729,X[37,62]=0.502,X[38,62]=0.431,X[39,62]=0.502,X[40,62]=0.502,X[41,62]=0.545,X[42,62]=0.451,X[43,62]=0.455,X[44,62]=0.459,X[45,62]=0.412,X[46,62]=0.247,X[47,62]=0.153,X[48,62]=0.255,X[49,62]=0.439,X[50,62]=0.502 X[51,62]=0.710,X[52,62]=0.612,X[53,62]=0.592,X[54,62]=0.510,X[55,62]=0.502,X[56,62]=0.537,X[57,62]=0.486,X[58,62]=0.486,X[59,62]=0.537,X[60,62]=0.710,X[61,62]=0.882,X[62,62]=0.706,X[63,62]=0.369,X[64,62]=0.275,X[65,62]=0.361,X[66,62]=0.400,X[67,62]=0.475,X[68,62]=0.471,X[69,62]=0.337,X[70,62]=0.380,X[71,62]=0.455,X[72,62]=0.510,X[73,62]=0.506,X[74,62]=0.361,X[75,62]=0.318,X[76,62]=0.404,X[77,62]=0.467,X[78,62]=0.518,X[79,62]=0.682,X[80,62]=0.553,X[81,62]=0.482,X[82,62]=0.467,X[83,62]=0.490,X[84,62]=0.549,X[85,62]=0.592,X[86,62]=0.478,X[87,62]=0.427,X[88,62]=0.373,X[89,62]=0.420,X[90,62]=0.502,X[91,62]=0.557,X[92,62]=0.529,X[93,62]=0.306,X[94,62]=0.282,X[95,62]=0.380,X[96,62]=0.529,X[97,62]=0.643,X[98,62]=0.604,X[99,62]=0.506,X[100,62]=0.506 X[1,63]=0.478,X[2,63]=0.420,X[3,63]=0.376,X[4,63]=0.384,X[5,63]=0.447,X[6,63]=0.478,X[7,63]=0.251,X[8,63]=0.165,X[9,63]=0.259,X[10,63]=0.176,X[11,63]=0.400,X[12,63]=0.224,X[13,63]=0.478,X[14,63]=0.431,X[15,63]=0.353,X[16,63]=0.475,X[17,63]=0.565,X[18,63]=0.337,X[19,63]=0.290,X[20,63]=0.490,X[21,63]=0.616,X[22,63]=0.529,X[23,63]=0.314,X[24,63]=0.443,X[25,63]=0.757,X[26,63]=0.855,X[27,63]=0.576,X[28,63]=0.376,X[29,63]=0.412,X[30,63]=0.412,X[31,63]=0.604,X[32,63]=0.714,X[33,63]=0.675,X[34,63]=0.808,X[35,63]=0.878,X[36,63]=0.792,X[37,63]=0.553,X[38,63]=0.557,X[39,63]=0.561,X[40,63]=0.533,X[41,63]=0.557,X[42,63]=0.537,X[43,63]=0.486,X[44,63]=0.510,X[45,63]=0.525,X[46,63]=0.431,X[47,63]=0.180,X[48,63]=0.204,X[49,63]=0.380,X[50,63]=0.447 X[51,63]=0.588,X[52,63]=0.588,X[53,63]=0.427,X[54,63]=0.365,X[55,63]=0.463,X[56,63]=0.533,X[57,63]=0.459,X[58,63]=0.384,X[59,63]=0.310,X[60,63]=0.604,X[61,63]=0.773,X[62,63]=0.765,X[63,63]=0.592,X[64,63]=0.373,X[65,63]=0.325,X[66,63]=0.408,X[67,63]=0.494,X[68,63]=0.506,X[69,63]=0.494,X[70,63]=0.482,X[71,63]=0.612,X[72,63]=0.584,X[73,63]=0.549,X[74,63]=0.333,X[75,63]=0.267,X[76,63]=0.376,X[77,63]=0.471,X[78,63]=0.475,X[79,63]=0.522,X[80,63]=0.498,X[81,63]=0.471,X[82,63]=0.502,X[83,63]=0.533,X[84,63]=0.612,X[85,63]=0.651,X[86,63]=0.412,X[87,63]=0.459,X[88,63]=0.608,X[89,63]=0.576,X[90,63]=0.663,X[91,63]=0.612,X[92,63]=0.525,X[93,63]=0.333,X[94,63]=0.286,X[95,63]=0.380,X[96,63]=0.463,X[97,63]=0.490,X[98,63]=0.529,X[99,63]=0.506,X[100,63]=0.486 X[1,64]=0.157,X[2,64]=0.224,X[3,64]=0.333,X[4,64]=0.463,X[5,64]=0.486,X[6,64]=0.498,X[7,64]=0.380,X[8,64]=0.322,X[9,64]=0.184,X[10,64]=0.271,X[11,64]=0.282,X[12,64]=0.337,X[13,64]=0.349,X[14,64]=0.388,X[15,64]=0.412,X[16,64]=0.537,X[17,64]=0.725,X[18,64]=0.408,X[19,64]=0.278,X[20,64]=0.447,X[21,64]=0.675,X[22,64]=0.612,X[23,64]=0.404,X[24,64]=0.200,X[25,64]=0.514,X[26,64]=0.671,X[27,64]=0.553,X[28,64]=0.459,X[29,64]=0.263,X[30,64]=0.271,X[31,64]=0.647,X[32,64]=0.569,X[33,64]=0.667,X[34,64]=0.671,X[35,64]=0.796,X[36,64]=0.780,X[37,64]=0.843,X[38,64]=0.698,X[39,64]=0.482,X[40,64]=0.455,X[41,64]=0.506,X[42,64]=0.580,X[43,64]=0.522,X[44,64]=0.541,X[45,64]=0.549,X[46,64]=0.502,X[47,64]=0.318,X[48,64]=0.325,X[49,64]=0.318,X[50,64]=0.439 X[51,64]=0.435,X[52,64]=0.514,X[53,64]=0.529,X[54,64]=0.420,X[55,64]=0.494,X[56,64]=0.529,X[57,64]=0.463,X[58,64]=0.310,X[59,64]=0.157,X[60,64]=0.318,X[61,64]=0.655,X[62,64]=0.757,X[63,64]=0.663,X[64,64]=0.416,X[65,64]=0.259,X[66,64]=0.478,X[67,64]=0.569,X[68,64]=0.580,X[69,64]=0.631,X[70,64]=0.576,X[71,64]=0.624,X[72,64]=0.702,X[73,64]=0.635,X[74,64]=0.459,X[75,64]=0.325,X[76,64]=0.380,X[77,64]=0.459,X[78,64]=0.506,X[79,64]=0.561,X[80,64]=0.553,X[81,64]=0.467,X[82,64]=0.439,X[83,64]=0.482,X[84,64]=0.529,X[85,64]=0.459,X[86,64]=0.424,X[87,64]=0.467,X[88,64]=0.553,X[89,64]=0.522,X[90,64]=0.588,X[91,64]=0.737,X[92,64]=0.690,X[93,64]=0.529,X[94,64]=0.396,X[95,64]=0.427,X[96,64]=0.494,X[97,64]=0.506,X[98,64]=0.573,X[99,64]=0.565,X[100,64]=0.471 X[1,65]=0.569,X[2,65]=0.776,X[3,65]=0.749,X[4,65]=0.620,X[5,65]=0.514,X[6,65]=0.431,X[7,65]=0.447,X[8,65]=0.486,X[9,65]=0.259,X[10,65]=0.392,X[11,65]=0.290,X[12,65]=0.333,X[13,65]=0.255,X[14,65]=0.267,X[15,65]=0.392,X[16,65]=0.659,X[17,65]=0.749,X[18,65]=0.553,X[19,65]=0.345,X[20,65]=0.365,X[21,65]=0.655,X[22,65]=0.718,X[23,65]=0.537,X[24,65]=0.173,X[25,65]=0.314,X[26,65]=0.514,X[27,65]=0.486,X[28,65]=0.510,X[29,65]=0.455,X[30,65]=0.169,X[31,65]=0.498,X[32,65]=0.435,X[33,65]=0.263,X[34,65]=0.537,X[35,65]=0.875,X[36,65]=0.816,X[37,65]=0.733,X[38,65]=0.565,X[39,65]=0.412,X[40,65]=0.431,X[41,65]=0.506,X[42,65]=0.482,X[43,65]=0.529,X[44,65]=0.557,X[45,65]=0.600,X[46,65]=0.596,X[47,65]=0.482,X[48,65]=0.424,X[49,65]=0.325,X[50,65]=0.396 X[51,65]=0.510,X[52,65]=0.588,X[53,65]=0.576,X[54,65]=0.529,X[55,65]=0.584,X[56,65]=0.612,X[57,65]=0.588,X[58,65]=0.380,X[59,65]=0.231,X[60,65]=0.212,X[61,65]=0.459,X[62,65]=0.690,X[63,65]=0.741,X[64,65]=0.486,X[65,65]=0.376,X[66,65]=0.471,X[67,65]=0.463,X[68,65]=0.431,X[69,65]=0.400,X[70,65]=0.439,X[71,65]=0.502,X[72,65]=0.667,X[73,65]=0.765,X[74,65]=0.639,X[75,65]=0.467,X[76,65]=0.435,X[77,65]=0.498,X[78,65]=0.506,X[79,65]=0.533,X[80,65]=0.553,X[81,65]=0.463,X[82,65]=0.333,X[83,65]=0.420,X[84,65]=0.620,X[85,65]=0.471,X[86,65]=0.337,X[87,65]=0.349,X[88,65]=0.353,X[89,65]=0.420,X[90,65]=0.522,X[91,65]=0.667,X[92,65]=0.796,X[93,65]=0.651,X[94,65]=0.514,X[95,65]=0.463,X[96,65]=0.490,X[97,65]=0.506,X[98,65]=0.525,X[99,65]=0.541,X[100,65]=0.522 X[1,66]=0.839,X[2,66]=0.835,X[3,66]=0.843,X[4,66]=0.792,X[5,66]=0.635,X[6,66]=0.529,X[7,66]=0.471,X[8,66]=0.455,X[9,66]=0.427,X[10,66]=0.463,X[11,66]=0.424,X[12,66]=0.412,X[13,66]=0.310,X[14,66]=0.188,X[15,66]=0.290,X[16,66]=0.588,X[17,66]=0.698,X[18,66]=0.612,X[19,66]=0.353,X[20,66]=0.243,X[21,66]=0.549,X[22,66]=0.863,X[23,66]=0.749,X[24,66]=0.478,X[25,66]=0.416,X[26,66]=0.561,X[27,66]=0.745,X[28,66]=0.612,X[29,66]=0.459,X[30,66]=0.341,X[31,66]=0.435,X[32,66]=0.373,X[33,66]=0.341,X[34,66]=0.584,X[35,66]=0.604,X[36,66]=0.671,X[37,66]=0.753,X[38,66]=0.588,X[39,66]=0.475,X[40,66]=0.431,X[41,66]=0.478,X[42,66]=0.482,X[43,66]=0.502,X[44,66]=0.463,X[45,66]=0.522,X[46,66]=0.502,X[47,66]=0.471,X[48,66]=0.439,X[49,66]=0.478,X[50,66]=0.443 X[51,66]=0.443,X[52,66]=0.576,X[53,66]=0.518,X[54,66]=0.506,X[55,66]=0.565,X[56,66]=0.612,X[57,66]=0.529,X[58,66]=0.349,X[59,66]=0.212,X[60,66]=0.192,X[61,66]=0.349,X[62,66]=0.643,X[63,66]=0.820,X[64,66]=0.455,X[65,66]=0.459,X[66,66]=0.416,X[67,66]=0.400,X[68,66]=0.404,X[69,66]=0.322,X[70,66]=0.380,X[71,66]=0.463,X[72,66]=0.596,X[73,66]=0.780,X[74,66]=0.663,X[75,66]=0.549,X[76,66]=0.486,X[77,66]=0.459,X[78,66]=0.498,X[79,66]=0.502,X[80,66]=0.498,X[81,66]=0.431,X[82,66]=0.482,X[83,66]=0.620,X[84,66]=0.635,X[85,66]=0.529,X[86,66]=0.384,X[87,66]=0.365,X[88,66]=0.365,X[89,66]=0.396,X[90,66]=0.467,X[91,66]=0.608,X[92,66]=0.725,X[93,66]=0.604,X[94,66]=0.557,X[95,66]=0.502,X[96,66]=0.451,X[97,66]=0.482,X[98,66]=0.494,X[99,66]=0.592,X[100,66]=0.600 X[1,67]=0.569,X[2,67]=0.710,X[3,67]=0.871,X[4,67]=0.973,X[5,67]=0.859,X[6,67]=0.635,X[7,67]=0.525,X[8,67]=0.451,X[9,67]=0.408,X[10,67]=0.486,X[11,67]=0.518,X[12,67]=0.478,X[13,67]=0.259,X[14,67]=0.129,X[15,67]=0.196,X[16,67]=0.388,X[17,67]=0.631,X[18,67]=0.655,X[19,67]=0.376,X[20,67]=0.310,X[21,67]=0.447,X[22,67]=0.784,X[23,67]=0.827,X[24,67]=0.565,X[25,67]=0.506,X[26,67]=0.596,X[27,67]=0.718,X[28,67]=0.757,X[29,67]=0.475,X[30,67]=0.490,X[31,67]=0.663,X[32,67]=0.533,X[33,67]=0.471,X[34,67]=0.541,X[35,67]=0.655,X[36,67]=0.643,X[37,67]=0.686,X[38,67]=0.588,X[39,67]=0.510,X[40,67]=0.490,X[41,67]=0.471,X[42,67]=0.443,X[43,67]=0.392,X[44,67]=0.424,X[45,67]=0.506,X[46,67]=0.557,X[47,67]=0.533,X[48,67]=0.502,X[49,67]=0.518,X[50,67]=0.475 X[51,67]=0.416,X[52,67]=0.467,X[53,67]=0.447,X[54,67]=0.416,X[55,67]=0.424,X[56,67]=0.490,X[57,67]=0.522,X[58,67]=0.404,X[59,67]=0.224,X[60,67]=0.176,X[61,67]=0.267,X[62,67]=0.576,X[63,67]=0.643,X[64,67]=0.463,X[65,67]=0.494,X[66,67]=0.494,X[67,67]=0.510,X[68,67]=0.510,X[69,67]=0.439,X[70,67]=0.463,X[71,67]=0.471,X[72,67]=0.561,X[73,67]=0.639,X[74,67]=0.576,X[75,67]=0.576,X[76,67]=0.522,X[77,67]=0.482,X[78,67]=0.502,X[79,67]=0.475,X[80,67]=0.486,X[81,67]=0.408,X[82,67]=0.502,X[83,67]=0.627,X[84,67]=0.600,X[85,67]=0.600,X[86,67]=0.561,X[87,67]=0.490,X[88,67]=0.494,X[89,67]=0.475,X[90,67]=0.435,X[91,67]=0.561,X[92,67]=0.569,X[93,67]=0.529,X[94,67]=0.573,X[95,67]=0.494,X[96,67]=0.478,X[97,67]=0.502,X[98,67]=0.486,X[99,67]=0.498,X[100,67]=0.502 X[1,68]=0.282,X[2,68]=0.337,X[3,68]=0.557,X[4,68]=0.698,X[5,68]=0.624,X[6,68]=0.722,X[7,68]=0.592,X[8,68]=0.431,X[9,68]=0.478,X[10,68]=0.490,X[11,68]=0.518,X[12,68]=0.502,X[13,68]=0.275,X[14,68]=0.220,X[15,68]=0.227,X[16,68]=0.282,X[17,68]=0.608,X[18,68]=0.733,X[19,68]=0.420,X[20,68]=0.357,X[21,68]=0.478,X[22,68]=0.706,X[23,68]=0.863,X[24,68]=0.592,X[25,68]=0.502,X[26,68]=0.463,X[27,68]=0.490,X[28,68]=0.659,X[29,68]=0.388,X[30,68]=0.220,X[31,68]=0.514,X[32,68]=0.510,X[33,68]=0.341,X[34,68]=0.420,X[35,68]=0.545,X[36,68]=0.812,X[37,68]=0.557,X[38,68]=0.518,X[39,68]=0.557,X[40,68]=0.549,X[41,68]=0.514,X[42,68]=0.455,X[43,68]=0.420,X[44,68]=0.545,X[45,68]=0.533,X[46,68]=0.529,X[47,68]=0.541,X[48,68]=0.486,X[49,68]=0.482,X[50,68]=0.475 X[51,68]=0.478,X[52,68]=0.451,X[53,68]=0.408,X[54,68]=0.380,X[55,68]=0.475,X[56,68]=0.529,X[57,68]=0.667,X[58,68]=0.643,X[59,68]=0.435,X[60,68]=0.224,X[61,68]=0.196,X[62,68]=0.643,X[63,68]=0.565,X[64,68]=0.498,X[65,68]=0.506,X[66,68]=0.490,X[67,68]=0.557,X[68,68]=0.569,X[69,68]=0.537,X[70,68]=0.545,X[71,68]=0.412,X[72,68]=0.498,X[73,68]=0.545,X[74,68]=0.490,X[75,68]=0.545,X[76,68]=0.478,X[77,68]=0.502,X[78,68]=0.482,X[79,68]=0.502,X[80,68]=0.486,X[81,68]=0.427,X[82,68]=0.420,X[83,68]=0.416,X[84,68]=0.514,X[85,68]=0.573,X[86,68]=0.486,X[87,68]=0.373,X[88,68]=0.431,X[89,68]=0.424,X[90,68]=0.365,X[91,68]=0.502,X[92,68]=0.510,X[93,68]=0.471,X[94,68]=0.506,X[95,68]=0.455,X[96,68]=0.514,X[97,68]=0.506,X[98,68]=0.502,X[99,68]=0.490,X[100,68]=0.518 X[1,69]=0.114,X[2,69]=0.043,X[3,69]=0.157,X[4,69]=0.435,X[5,69]=0.580,X[6,69]=0.776,X[7,69]=0.682,X[8,69]=0.576,X[9,69]=0.514,X[10,69]=0.518,X[11,69]=0.553,X[12,69]=0.580,X[13,69]=0.553,X[14,69]=0.396,X[15,69]=0.220,X[16,69]=0.204,X[17,69]=0.588,X[18,69]=0.651,X[19,69]=0.455,X[20,69]=0.424,X[21,69]=0.525,X[22,69]=0.788,X[23,69]=0.824,X[24,69]=0.541,X[25,69]=0.494,X[26,69]=0.490,X[27,69]=0.490,X[28,69]=0.455,X[29,69]=0.243,X[30,69]=0.125,X[31,69]=0.247,X[32,69]=0.271,X[33,69]=0.227,X[34,69]=0.529,X[35,69]=0.376,X[36,69]=0.675,X[37,69]=0.639,X[38,69]=0.522,X[39,69]=0.475,X[40,69]=0.529,X[41,69]=0.584,X[42,69]=0.561,X[43,69]=0.533,X[44,69]=0.498,X[45,69]=0.478,X[46,69]=0.502,X[47,69]=0.490,X[48,69]=0.455,X[49,69]=0.518,X[50,69]=0.490 X[51,69]=0.510,X[52,69]=0.467,X[53,69]=0.427,X[54,69]=0.420,X[55,69]=0.482,X[56,69]=0.663,X[57,69]=0.812,X[58,69]=0.839,X[59,69]=0.718,X[60,69]=0.525,X[61,69]=0.365,X[62,69]=0.620,X[63,69]=0.635,X[64,69]=0.522,X[65,69]=0.514,X[66,69]=0.502,X[67,69]=0.573,X[68,69]=0.533,X[69,69]=0.549,X[70,69]=0.498,X[71,69]=0.349,X[72,69]=0.447,X[73,69]=0.443,X[74,69]=0.439,X[75,69]=0.506,X[76,69]=0.463,X[77,69]=0.494,X[78,69]=0.451,X[79,69]=0.463,X[80,69]=0.498,X[81,69]=0.506,X[82,69]=0.306,X[83,69]=0.122,X[84,69]=0.224,X[85,69]=0.302,X[86,69]=0.235,X[87,69]=0.224,X[88,69]=0.329,X[89,69]=0.384,X[90,69]=0.365,X[91,69]=0.475,X[92,69]=0.486,X[93,69]=0.478,X[94,69]=0.545,X[95,69]=0.471,X[96,69]=0.490,X[97,69]=0.541,X[98,69]=0.486,X[99,69]=0.475,X[100,69]=0.545 X[1,70]=0.404,X[2,70]=0.388,X[3,70]=0.502,X[4,70]=0.443,X[5,70]=0.639,X[6,70]=0.886,X[7,70]=0.843,X[8,70]=0.776,X[9,70]=0.588,X[10,70]=0.478,X[11,70]=0.608,X[12,70]=0.706,X[13,70]=0.757,X[14,70]=0.604,X[15,70]=0.369,X[16,70]=0.247,X[17,70]=0.631,X[18,70]=0.639,X[19,70]=0.455,X[20,70]=0.486,X[21,70]=0.549,X[22,70]=0.718,X[23,70]=0.600,X[24,70]=0.502,X[25,70]=0.565,X[26,70]=0.490,X[27,70]=0.588,X[28,70]=0.651,X[29,70]=0.435,X[30,70]=0.314,X[31,70]=0.416,X[32,70]=0.314,X[33,70]=0.224,X[34,70]=0.243,X[35,70]=0.502,X[36,70]=0.486,X[37,70]=0.459,X[38,70]=0.471,X[39,70]=0.525,X[40,70]=0.580,X[41,70]=0.549,X[42,70]=0.518,X[43,70]=0.475,X[44,70]=0.482,X[45,70]=0.427,X[46,70]=0.486,X[47,70]=0.569,X[48,70]=0.506,X[49,70]=0.486,X[50,70]=0.557 X[51,70]=0.525,X[52,70]=0.498,X[53,70]=0.443,X[54,70]=0.451,X[55,70]=0.388,X[56,70]=0.490,X[57,70]=0.604,X[58,70]=0.761,X[59,70]=0.776,X[60,70]=0.490,X[61,70]=0.459,X[62,70]=0.545,X[63,70]=0.588,X[64,70]=0.549,X[65,70]=0.506,X[66,70]=0.478,X[67,70]=0.510,X[68,70]=0.486,X[69,70]=0.514,X[70,70]=0.427,X[71,70]=0.376,X[72,70]=0.486,X[73,70]=0.412,X[74,70]=0.455,X[75,70]=0.463,X[76,70]=0.510,X[77,70]=0.502,X[78,70]=0.514,X[79,70]=0.459,X[80,70]=0.537,X[81,70]=0.631,X[82,70]=0.482,X[83,70]=0.267,X[84,70]=0.435,X[85,70]=0.596,X[86,70]=0.486,X[87,70]=0.322,X[88,70]=0.376,X[89,70]=0.557,X[90,70]=0.459,X[91,70]=0.490,X[92,70]=0.529,X[93,70]=0.490,X[94,70]=0.533,X[95,70]=0.510,X[96,70]=0.537,X[97,70]=0.580,X[98,70]=0.463,X[99,70]=0.600,X[100,70]=0.725 X[1,71]=0.824,X[2,71]=0.722,X[3,71]=0.706,X[4,71]=0.549,X[5,71]=0.596,X[6,71]=0.631,X[7,71]=0.718,X[8,71]=0.631,X[9,71]=0.486,X[10,71]=0.416,X[11,71]=0.506,X[12,71]=0.631,X[13,71]=0.773,X[14,71]=0.769,X[15,71]=0.561,X[16,71]=0.447,X[17,71]=0.565,X[18,71]=0.608,X[19,71]=0.502,X[20,71]=0.455,X[21,71]=0.502,X[22,71]=0.525,X[23,71]=0.498,X[24,71]=0.494,X[25,71]=0.522,X[26,71]=0.596,X[27,71]=0.749,X[28,71]=0.776,X[29,71]=0.671,X[30,71]=0.663,X[31,71]=0.678,X[32,71]=0.549,X[33,71]=0.620,X[34,71]=0.286,X[35,71]=0.392,X[36,71]=0.514,X[37,71]=0.553,X[38,71]=0.580,X[39,71]=0.694,X[40,71]=0.714,X[41,71]=0.518,X[42,71]=0.482,X[43,71]=0.518,X[44,71]=0.494,X[45,71]=0.565,X[46,71]=0.604,X[47,71]=0.490,X[48,71]=0.514,X[49,71]=0.525,X[50,71]=0.600 X[51,71]=0.616,X[52,71]=0.580,X[53,71]=0.490,X[54,71]=0.369,X[55,71]=0.251,X[56,71]=0.220,X[57,71]=0.302,X[58,71]=0.420,X[59,71]=0.565,X[60,71]=0.404,X[61,71]=0.357,X[62,71]=0.478,X[63,71]=0.529,X[64,71]=0.537,X[65,71]=0.467,X[66,71]=0.345,X[67,71]=0.302,X[68,71]=0.404,X[69,71]=0.561,X[70,71]=0.498,X[71,71]=0.459,X[72,71]=0.588,X[73,71]=0.518,X[74,71]=0.451,X[75,71]=0.416,X[76,71]=0.529,X[77,71]=0.604,X[78,71]=0.486,X[79,71]=0.255,X[80,71]=0.573,X[81,71]=0.820,X[82,71]=0.608,X[83,71]=0.580,X[84,71]=0.710,X[85,71]=0.761,X[86,71]=0.659,X[87,71]=0.510,X[88,71]=0.494,X[89,71]=0.490,X[90,71]=0.518,X[91,71]=0.525,X[92,71]=0.498,X[93,71]=0.478,X[94,71]=0.510,X[95,71]=0.490,X[96,71]=0.545,X[97,71]=0.573,X[98,71]=0.463,X[99,71]=0.647,X[100,71]=0.675 X[1,72]=0.722,X[2,72]=0.667,X[3,72]=0.631,X[4,72]=0.529,X[5,72]=0.384,X[6,72]=0.259,X[7,72]=0.408,X[8,72]=0.565,X[9,72]=0.408,X[10,72]=0.286,X[11,72]=0.290,X[12,72]=0.443,X[13,72]=0.612,X[14,72]=0.702,X[15,72]=0.439,X[16,72]=0.369,X[17,72]=0.478,X[18,72]=0.471,X[19,72]=0.502,X[20,72]=0.435,X[21,72]=0.361,X[22,72]=0.373,X[23,72]=0.416,X[24,72]=0.451,X[25,72]=0.529,X[26,72]=0.651,X[27,72]=0.686,X[28,72]=0.647,X[29,72]=0.635,X[30,72]=0.776,X[31,72]=0.890,X[32,72]=0.718,X[33,72]=0.616,X[34,72]=0.553,X[35,72]=0.490,X[36,72]=0.510,X[37,72]=0.494,X[38,72]=0.557,X[39,72]=0.706,X[40,72]=0.776,X[41,72]=0.780,X[42,72]=0.541,X[43,72]=0.498,X[44,72]=0.549,X[45,72]=0.761,X[46,72]=0.784,X[47,72]=0.573,X[48,72]=0.467,X[49,72]=0.541,X[50,72]=0.604 X[51,72]=0.643,X[52,72]=0.553,X[53,72]=0.463,X[54,72]=0.357,X[55,72]=0.306,X[56,72]=0.239,X[57,72]=0.220,X[58,72]=0.231,X[59,72]=0.267,X[60,72]=0.396,X[61,72]=0.506,X[62,72]=0.549,X[63,72]=0.596,X[64,72]=0.545,X[65,72]=0.443,X[66,72]=0.278,X[67,72]=0.243,X[68,72]=0.408,X[69,72]=0.537,X[70,72]=0.537,X[71,72]=0.533,X[72,72]=0.549,X[73,72]=0.561,X[74,72]=0.549,X[75,72]=0.404,X[76,72]=0.424,X[77,72]=0.627,X[78,72]=0.502,X[79,72]=0.176,X[80,72]=0.278,X[81,72]=0.510,X[82,72]=0.337,X[83,72]=0.361,X[84,72]=0.522,X[85,72]=0.651,X[86,72]=0.612,X[87,72]=0.361,X[88,72]=0.400,X[89,72]=0.408,X[90,72]=0.459,X[91,72]=0.533,X[92,72]=0.408,X[93,72]=0.396,X[94,72]=0.380,X[95,72]=0.427,X[96,72]=0.510,X[97,72]=0.569,X[98,72]=0.455,X[99,72]=0.525,X[100,72]=0.502 X[1,73]=0.553,X[2,73]=0.569,X[3,73]=0.592,X[4,73]=0.447,X[5,73]=0.341,X[6,73]=0.361,X[7,73]=0.431,X[8,73]=0.475,X[9,73]=0.373,X[10,73]=0.259,X[11,73]=0.239,X[12,73]=0.235,X[13,73]=0.275,X[14,73]=0.369,X[15,73]=0.412,X[16,73]=0.420,X[17,73]=0.482,X[18,73]=0.569,X[19,73]=0.549,X[20,73]=0.506,X[21,73]=0.294,X[22,73]=0.259,X[23,73]=0.392,X[24,73]=0.518,X[25,73]=0.533,X[26,73]=0.529,X[27,73]=0.506,X[28,73]=0.486,X[29,73]=0.490,X[30,73]=0.561,X[31,73]=0.627,X[32,73]=0.514,X[33,73]=0.475,X[34,73]=0.510,X[35,73]=0.467,X[36,73]=0.388,X[37,73]=0.298,X[38,73]=0.318,X[39,73]=0.624,X[40,73]=0.796,X[41,73]=0.863,X[42,73]=0.643,X[43,73]=0.376,X[44,73]=0.506,X[45,73]=0.839,X[46,73]=0.835,X[47,73]=0.655,X[48,73]=0.463,X[49,73]=0.443,X[50,73]=0.510 X[51,73]=0.686,X[52,73]=0.675,X[53,73]=0.541,X[54,73]=0.490,X[55,73]=0.388,X[56,73]=0.290,X[57,73]=0.290,X[58,73]=0.310,X[59,73]=0.271,X[60,73]=0.424,X[61,73]=0.549,X[62,73]=0.529,X[63,73]=0.608,X[64,73]=0.698,X[65,73]=0.627,X[66,73]=0.471,X[67,73]=0.384,X[68,73]=0.475,X[69,73]=0.514,X[70,73]=0.471,X[71,73]=0.541,X[72,73]=0.576,X[73,73]=0.557,X[74,73]=0.608,X[75,73]=0.451,X[76,73]=0.412,X[77,73]=0.788,X[78,73]=0.596,X[79,73]=0.227,X[80,73]=0.314,X[81,73]=0.306,X[82,73]=0.263,X[83,73]=0.227,X[84,73]=0.282,X[85,73]=0.353,X[86,73]=0.400,X[87,73]=0.447,X[88,73]=0.424,X[89,73]=0.518,X[90,73]=0.553,X[91,73]=0.576,X[92,73]=0.431,X[93,73]=0.259,X[94,73]=0.275,X[95,73]=0.427,X[96,73]=0.537,X[97,73]=0.541,X[98,73]=0.506,X[99,73]=0.471,X[100,73]=0.482 X[1,74]=0.259,X[2,74]=0.259,X[3,74]=0.306,X[4,74]=0.396,X[5,74]=0.471,X[6,74]=0.427,X[7,74]=0.478,X[8,74]=0.478,X[9,74]=0.388,X[10,74]=0.322,X[11,74]=0.251,X[12,74]=0.200,X[13,74]=0.204,X[14,74]=0.200,X[15,74]=0.400,X[16,74]=0.651,X[17,74]=0.573,X[18,74]=0.663,X[19,74]=0.659,X[20,74]=0.565,X[21,74]=0.380,X[22,74]=0.314,X[23,74]=0.380,X[24,74]=0.467,X[25,74]=0.514,X[26,74]=0.557,X[27,74]=0.522,X[28,74]=0.427,X[29,74]=0.349,X[30,74]=0.318,X[31,74]=0.380,X[32,74]=0.412,X[33,74]=0.478,X[34,74]=0.439,X[35,74]=0.396,X[36,74]=0.306,X[37,74]=0.255,X[38,74]=0.180,X[39,74]=0.431,X[40,74]=0.773,X[41,74]=0.875,X[42,74]=0.682,X[43,74]=0.212,X[44,74]=0.396,X[45,74]=0.753,X[46,74]=0.847,X[47,74]=0.675,X[48,74]=0.443,X[49,74]=0.475,X[50,74]=0.702 X[51,74]=0.867,X[52,74]=0.867,X[53,74]=0.682,X[54,74]=0.518,X[55,74]=0.537,X[56,74]=0.459,X[57,74]=0.525,X[58,74]=0.518,X[59,74]=0.349,X[60,74]=0.357,X[61,74]=0.373,X[62,74]=0.435,X[63,74]=0.541,X[64,74]=0.706,X[65,74]=0.792,X[66,74]=0.647,X[67,74]=0.518,X[68,74]=0.463,X[69,74]=0.514,X[70,74]=0.463,X[71,74]=0.510,X[72,74]=0.514,X[73,74]=0.604,X[74,74]=0.584,X[75,74]=0.486,X[76,74]=0.431,X[77,74]=0.765,X[78,74]=0.694,X[79,74]=0.408,X[80,74]=0.463,X[81,74]=0.392,X[82,74]=0.294,X[83,74]=0.235,X[84,74]=0.212,X[85,74]=0.243,X[86,74]=0.259,X[87,74]=0.573,X[88,74]=0.604,X[89,74]=0.592,X[90,74]=0.686,X[91,74]=0.616,X[92,74]=0.529,X[93,74]=0.333,X[94,74]=0.322,X[95,74]=0.408,X[96,74]=0.478,X[97,74]=0.533,X[98,74]=0.569,X[99,74]=0.494,X[100,74]=0.463 X[1,75]=0.224,X[2,75]=0.435,X[3,75]=0.447,X[4,75]=0.447,X[5,75]=0.529,X[6,75]=0.494,X[7,75]=0.525,X[8,75]=0.549,X[9,75]=0.498,X[10,75]=0.486,X[11,75]=0.408,X[12,75]=0.400,X[13,75]=0.388,X[14,75]=0.349,X[15,75]=0.408,X[16,75]=0.475,X[17,75]=0.475,X[18,75]=0.549,X[19,75]=0.718,X[20,75]=0.733,X[21,75]=0.561,X[22,75]=0.420,X[23,75]=0.435,X[24,75]=0.502,X[25,75]=0.506,X[26,75]=0.557,X[27,75]=0.561,X[28,75]=0.439,X[29,75]=0.443,X[30,75]=0.553,X[31,75]=0.506,X[32,75]=0.443,X[33,75]=0.459,X[34,75]=0.486,X[35,75]=0.435,X[36,75]=0.337,X[37,75]=0.263,X[38,75]=0.224,X[39,75]=0.322,X[40,75]=0.635,X[41,75]=0.867,X[42,75]=0.678,X[43,75]=0.427,X[44,75]=0.471,X[45,75]=0.620,X[46,75]=0.831,X[47,75]=0.608,X[48,75]=0.459,X[49,75]=0.533,X[50,75]=0.659 X[51,75]=0.792,X[52,75]=0.831,X[53,75]=0.620,X[54,75]=0.471,X[55,75]=0.482,X[56,75]=0.514,X[57,75]=0.604,X[58,75]=0.502,X[59,75]=0.353,X[60,75]=0.365,X[61,75]=0.365,X[62,75]=0.412,X[63,75]=0.478,X[64,75]=0.624,X[65,75]=0.702,X[66,75]=0.604,X[67,75]=0.573,X[68,75]=0.494,X[69,75]=0.471,X[70,75]=0.486,X[71,75]=0.506,X[72,75]=0.424,X[73,75]=0.533,X[74,75]=0.620,X[75,75]=0.463,X[76,75]=0.506,X[77,75]=0.741,X[78,75]=0.639,X[79,75]=0.533,X[80,75]=0.498,X[81,75]=0.490,X[82,75]=0.467,X[83,75]=0.408,X[84,75]=0.420,X[85,75]=0.420,X[86,75]=0.369,X[87,75]=0.443,X[88,75]=0.459,X[89,75]=0.482,X[90,75]=0.604,X[91,75]=0.761,X[92,75]=0.698,X[93,75]=0.506,X[94,75]=0.431,X[95,75]=0.463,X[96,75]=0.502,X[97,75]=0.514,X[98,75]=0.565,X[99,75]=0.537,X[100,75]=0.435 X[1,76]=0.792,X[2,76]=0.863,X[3,76]=0.737,X[4,76]=0.596,X[5,76]=0.553,X[6,76]=0.561,X[7,76]=0.616,X[8,76]=0.576,X[9,76]=0.608,X[10,76]=0.612,X[11,76]=0.600,X[12,76]=0.671,X[13,76]=0.565,X[14,76]=0.337,X[15,76]=0.341,X[16,76]=0.333,X[17,76]=0.412,X[18,76]=0.502,X[19,76]=0.647,X[20,76]=0.792,X[21,76]=0.659,X[22,76]=0.525,X[23,76]=0.459,X[24,76]=0.478,X[25,76]=0.502,X[26,76]=0.522,X[27,76]=0.557,X[28,76]=0.675,X[29,76]=0.820,X[30,76]=0.886,X[31,76]=0.702,X[32,76]=0.537,X[33,76]=0.510,X[34,76]=0.553,X[35,76]=0.549,X[36,76]=0.482,X[37,76]=0.329,X[38,76]=0.267,X[39,76]=0.310,X[40,76]=0.522,X[41,76]=0.784,X[42,76]=0.608,X[43,76]=0.545,X[44,76]=0.502,X[45,76]=0.612,X[46,76]=0.831,X[47,76]=0.584,X[48,76]=0.486,X[49,76]=0.475,X[50,76]=0.451 X[51,76]=0.643,X[52,76]=0.698,X[53,76]=0.435,X[54,76]=0.463,X[55,76]=0.412,X[56,76]=0.337,X[57,76]=0.376,X[58,76]=0.439,X[59,76]=0.475,X[60,76]=0.482,X[61,76]=0.463,X[62,76]=0.388,X[63,76]=0.322,X[64,76]=0.549,X[65,76]=0.565,X[66,76]=0.541,X[67,76]=0.549,X[68,76]=0.514,X[69,76]=0.486,X[70,76]=0.502,X[71,76]=0.486,X[72,76]=0.431,X[73,76]=0.380,X[74,76]=0.557,X[75,76]=0.529,X[76,76]=0.635,X[77,76]=0.878,X[78,76]=0.812,X[79,76]=0.624,X[80,76]=0.533,X[81,76]=0.533,X[82,76]=0.518,X[83,76]=0.533,X[84,76]=0.678,X[85,76]=0.486,X[86,76]=0.337,X[87,76]=0.341,X[88,76]=0.345,X[89,76]=0.447,X[90,76]=0.518,X[91,76]=0.722,X[92,76]=0.761,X[93,76]=0.604,X[94,76]=0.522,X[95,76]=0.451,X[96,76]=0.498,X[97,76]=0.498,X[98,76]=0.529,X[99,76]=0.576,X[100,76]=0.561 X[1,77]=0.847,X[2,77]=0.859,X[3,77]=0.855,X[4,77]=0.875,X[5,77]=0.678,X[6,77]=0.584,X[7,77]=0.545,X[8,77]=0.455,X[9,77]=0.533,X[10,77]=0.533,X[11,77]=0.514,X[12,77]=0.486,X[13,77]=0.463,X[14,77]=0.412,X[15,77]=0.408,X[16,77]=0.416,X[17,77]=0.435,X[18,77]=0.447,X[19,77]=0.588,X[20,77]=0.667,X[21,77]=0.588,X[22,77]=0.569,X[23,77]=0.510,X[24,77]=0.478,X[25,77]=0.475,X[26,77]=0.475,X[27,77]=0.573,X[28,77]=0.702,X[29,77]=0.788,X[30,77]=0.859,X[31,77]=0.894,X[32,77]=0.769,X[33,77]=0.608,X[34,77]=0.553,X[35,77]=0.522,X[36,77]=0.549,X[37,77]=0.420,X[38,77]=0.329,X[39,77]=0.259,X[40,77]=0.459,X[41,77]=0.569,X[42,77]=0.459,X[43,77]=0.482,X[44,77]=0.514,X[45,77]=0.702,X[46,77]=0.827,X[47,77]=0.549,X[48,77]=0.494,X[49,77]=0.498,X[50,77]=0.459 X[51,77]=0.647,X[52,77]=0.569,X[53,77]=0.478,X[54,77]=0.431,X[55,77]=0.349,X[56,77]=0.267,X[57,77]=0.282,X[58,77]=0.333,X[59,77]=0.396,X[60,77]=0.404,X[61,77]=0.447,X[62,77]=0.231,X[63,77]=0.243,X[64,77]=0.518,X[65,77]=0.490,X[66,77]=0.475,X[67,77]=0.522,X[68,77]=0.471,X[69,77]=0.498,X[70,77]=0.455,X[71,77]=0.494,X[72,77]=0.490,X[73,77]=0.349,X[74,77]=0.278,X[75,77]=0.376,X[76,77]=0.604,X[77,77]=0.773,X[78,77]=0.682,X[79,77]=0.537,X[80,77]=0.451,X[81,77]=0.467,X[82,77]=0.459,X[83,77]=0.424,X[84,77]=0.482,X[85,77]=0.443,X[86,77]=0.412,X[87,77]=0.420,X[88,77]=0.431,X[89,77]=0.420,X[90,77]=0.467,X[91,77]=0.639,X[92,77]=0.612,X[93,77]=0.576,X[94,77]=0.565,X[95,77]=0.498,X[96,77]=0.482,X[97,77]=0.467,X[98,77]=0.502,X[99,77]=0.561,X[100,77]=0.588 X[1,78]=0.557,X[2,78]=0.706,X[3,78]=0.835,X[4,78]=0.859,X[5,78]=0.678,X[6,78]=0.478,X[7,78]=0.376,X[8,78]=0.424,X[9,78]=0.463,X[10,78]=0.427,X[11,78]=0.361,X[12,78]=0.337,X[13,78]=0.408,X[14,78]=0.478,X[15,78]=0.506,X[16,78]=0.475,X[17,78]=0.431,X[18,78]=0.286,X[19,78]=0.518,X[20,78]=0.565,X[21,78]=0.514,X[22,78]=0.545,X[23,78]=0.486,X[24,78]=0.502,X[25,78]=0.514,X[26,78]=0.506,X[27,78]=0.478,X[28,78]=0.463,X[29,78]=0.616,X[30,78]=0.808,X[31,78]=0.914,X[32,78]=0.816,X[33,78]=0.596,X[34,78]=0.608,X[35,78]=0.643,X[36,78]=0.718,X[37,78]=0.639,X[38,78]=0.475,X[39,78]=0.329,X[40,78]=0.498,X[41,78]=0.565,X[42,78]=0.463,X[43,78]=0.475,X[44,78]=0.518,X[45,78]=0.667,X[46,78]=0.635,X[47,78]=0.494,X[48,78]=0.569,X[49,78]=0.506,X[50,78]=0.549 X[51,78]=0.569,X[52,78]=0.529,X[53,78]=0.541,X[54,78]=0.533,X[55,78]=0.490,X[56,78]=0.373,X[57,78]=0.224,X[58,78]=0.188,X[59,78]=0.235,X[60,78]=0.447,X[61,78]=0.667,X[62,78]=0.380,X[63,78]=0.325,X[64,78]=0.467,X[65,78]=0.412,X[66,78]=0.412,X[67,78]=0.502,X[68,78]=0.455,X[69,78]=0.498,X[70,78]=0.420,X[71,78]=0.525,X[72,78]=0.541,X[73,78]=0.502,X[74,78]=0.212,X[75,78]=0.078,X[76,78]=0.216,X[77,78]=0.459,X[78,78]=0.533,X[79,78]=0.475,X[80,78]=0.463,X[81,78]=0.443,X[82,78]=0.314,X[83,78]=0.259,X[84,78]=0.349,X[85,78]=0.439,X[86,78]=0.486,X[87,78]=0.482,X[88,78]=0.424,X[89,78]=0.196,X[90,78]=0.282,X[91,78]=0.592,X[92,78]=0.510,X[93,78]=0.533,X[94,78]=0.522,X[95,78]=0.502,X[96,78]=0.486,X[97,78]=0.502,X[98,78]=0.490,X[99,78]=0.416,X[100,78]=0.310 X[1,79]=0.239,X[2,79]=0.267,X[3,79]=0.408,X[4,79]=0.510,X[5,79]=0.510,X[6,79]=0.549,X[7,79]=0.471,X[8,79]=0.427,X[9,79]=0.420,X[10,79]=0.400,X[11,79]=0.298,X[12,79]=0.275,X[13,79]=0.302,X[14,79]=0.482,X[15,79]=0.514,X[16,79]=0.424,X[17,79]=0.231,X[18,79]=0.259,X[19,79]=0.486,X[20,79]=0.467,X[21,79]=0.447,X[22,79]=0.510,X[23,79]=0.467,X[24,79]=0.522,X[25,79]=0.506,X[26,79]=0.490,X[27,79]=0.506,X[28,79]=0.486,X[29,79]=0.478,X[30,79]=0.549,X[31,79]=0.651,X[32,79]=0.682,X[33,79]=0.647,X[34,79]=0.647,X[35,79]=0.635,X[36,79]=0.675,X[37,79]=0.729,X[38,79]=0.592,X[39,79]=0.478,X[40,79]=0.522,X[41,79]=0.604,X[42,79]=0.514,X[43,79]=0.486,X[44,79]=0.486,X[45,79]=0.525,X[46,79]=0.510,X[47,79]=0.494,X[48,79]=0.553,X[49,79]=0.522,X[50,79]=0.631 X[51,79]=0.631,X[52,79]=0.733,X[53,79]=0.804,X[54,79]=0.851,X[55,79]=0.808,X[56,79]=0.706,X[57,79]=0.455,X[58,79]=0.314,X[59,79]=0.325,X[60,79]=0.596,X[61,79]=0.631,X[62,79]=0.373,X[63,79]=0.388,X[64,79]=0.506,X[65,79]=0.439,X[66,79]=0.353,X[67,79]=0.459,X[68,79]=0.549,X[69,79]=0.525,X[70,79]=0.369,X[71,79]=0.451,X[72,79]=0.675,X[73,79]=0.729,X[74,79]=0.494,X[75,79]=0.184,X[76,79]=0.337,X[77,79]=0.522,X[78,79]=0.522,X[79,79]=0.506,X[80,79]=0.471,X[81,79]=0.412,X[82,79]=0.337,X[83,79]=0.267,X[84,79]=0.263,X[85,79]=0.271,X[86,79]=0.267,X[87,79]=0.255,X[88,79]=0.224,X[89,79]=0.094,X[90,79]=0.341,X[91,79]=0.502,X[92,79]=0.424,X[93,79]=0.475,X[94,79]=0.518,X[95,79]=0.475,X[96,79]=0.486,X[97,79]=0.412,X[98,79]=0.498,X[99,79]=0.502,X[100,79]=0.333 X[1,80]=0.137,X[2,80]=0.110,X[3,80]=0.235,X[4,80]=0.478,X[5,80]=0.545,X[6,80]=0.533,X[7,80]=0.486,X[8,80]=0.435,X[9,80]=0.384,X[10,80]=0.396,X[11,80]=0.278,X[12,80]=0.208,X[13,80]=0.247,X[14,80]=0.471,X[15,80]=0.349,X[16,80]=0.463,X[17,80]=0.263,X[18,80]=0.333,X[19,80]=0.467,X[20,80]=0.424,X[21,80]=0.384,X[22,80]=0.459,X[23,80]=0.475,X[24,80]=0.490,X[25,80]=0.420,X[26,80]=0.404,X[27,80]=0.494,X[28,80]=0.533,X[29,80]=0.447,X[30,80]=0.486,X[31,80]=0.643,X[32,80]=0.686,X[33,80]=0.608,X[34,80]=0.388,X[35,80]=0.365,X[36,80]=0.529,X[37,80]=0.647,X[38,80]=0.471,X[39,80]=0.369,X[40,80]=0.471,X[41,80]=0.506,X[42,80]=0.510,X[43,80]=0.463,X[44,80]=0.459,X[45,80]=0.443,X[46,80]=0.443,X[47,80]=0.447,X[48,80]=0.518,X[49,80]=0.753,X[50,80]=0.808 X[51,80]=0.737,X[52,80]=0.729,X[53,80]=0.718,X[54,80]=0.745,X[55,80]=0.867,X[56,80]=0.914,X[57,80]=0.714,X[58,80]=0.325,X[59,80]=0.157,X[60,80]=0.384,X[61,80]=0.510,X[62,80]=0.404,X[63,80]=0.463,X[64,80]=0.639,X[65,80]=0.443,X[66,80]=0.361,X[67,80]=0.424,X[68,80]=0.612,X[69,80]=0.604,X[70,80]=0.384,X[71,80]=0.251,X[72,80]=0.635,X[73,80]=0.855,X[74,80]=0.792,X[75,80]=0.471,X[76,80]=0.435,X[77,80]=0.545,X[78,80]=0.545,X[79,80]=0.549,X[80,80]=0.514,X[81,80]=0.475,X[82,80]=0.416,X[83,80]=0.275,X[84,80]=0.208,X[85,80]=0.239,X[86,80]=0.302,X[87,80]=0.416,X[88,80]=0.298,X[89,80]=0.192,X[90,80]=0.412,X[91,80]=0.451,X[92,80]=0.424,X[93,80]=0.408,X[94,80]=0.506,X[95,80]=0.475,X[96,80]=0.478,X[97,80]=0.357,X[98,80]=0.580,X[99,80]=0.612,X[100,80]=0.616 X[1,81]=0.459,X[2,81]=0.424,X[3,81]=0.510,X[4,81]=0.514,X[5,81]=0.514,X[6,81]=0.510,X[7,81]=0.443,X[8,81]=0.471,X[9,81]=0.502,X[10,81]=0.486,X[11,81]=0.420,X[12,81]=0.231,X[13,81]=0.208,X[14,81]=0.314,X[15,81]=0.353,X[16,81]=0.369,X[17,81]=0.345,X[18,81]=0.408,X[19,81]=0.549,X[20,81]=0.467,X[21,81]=0.275,X[22,81]=0.404,X[23,81]=0.490,X[24,81]=0.545,X[25,81]=0.412,X[26,81]=0.345,X[27,81]=0.435,X[28,81]=0.561,X[29,81]=0.604,X[30,81]=0.616,X[31,81]=0.643,X[32,81]=0.475,X[33,81]=0.549,X[34,81]=0.490,X[35,81]=0.396,X[36,81]=0.384,X[37,81]=0.435,X[38,81]=0.451,X[39,81]=0.349,X[40,81]=0.373,X[41,81]=0.459,X[42,81]=0.518,X[43,81]=0.525,X[44,81]=0.353,X[45,81]=0.302,X[46,81]=0.365,X[47,81]=0.506,X[48,81]=0.655,X[49,81]=0.714,X[50,81]=0.588 X[51,81]=0.514,X[52,81]=0.478,X[53,81]=0.486,X[54,81]=0.576,X[55,81]=0.796,X[56,81]=0.773,X[57,81]=0.537,X[58,81]=0.294,X[59,81]=0.200,X[60,81]=0.337,X[61,81]=0.447,X[62,81]=0.400,X[63,81]=0.510,X[64,81]=0.647,X[65,81]=0.467,X[66,81]=0.459,X[67,81]=0.396,X[68,81]=0.612,X[69,81]=0.710,X[70,81]=0.435,X[71,81]=0.271,X[72,81]=0.573,X[73,81]=0.863,X[74,81]=0.820,X[75,81]=0.537,X[76,81]=0.439,X[77,81]=0.435,X[78,81]=0.506,X[79,81]=0.612,X[80,81]=0.502,X[81,81]=0.475,X[82,81]=0.506,X[83,81]=0.427,X[84,81]=0.420,X[85,81]=0.533,X[86,81]=0.545,X[87,81]=0.502,X[88,81]=0.302,X[89,81]=0.349,X[90,81]=0.467,X[91,81]=0.561,X[92,81]=0.506,X[93,81]=0.376,X[94,81]=0.486,X[95,81]=0.624,X[96,81]=0.529,X[97,81]=0.255,X[98,81]=0.431,X[99,81]=0.773,X[100,81]=0.890 X[1,82]=0.620,X[2,82]=0.576,X[3,82]=0.537,X[4,82]=0.482,X[5,82]=0.443,X[6,82]=0.482,X[7,82]=0.518,X[8,82]=0.502,X[9,82]=0.553,X[10,82]=0.525,X[11,82]=0.451,X[12,82]=0.282,X[13,82]=0.400,X[14,82]=0.365,X[15,82]=0.353,X[16,82]=0.333,X[17,82]=0.392,X[18,82]=0.471,X[19,82]=0.675,X[20,82]=0.416,X[21,82]=0.239,X[22,82]=0.380,X[23,82]=0.549,X[24,82]=0.631,X[25,82]=0.525,X[26,82]=0.494,X[27,82]=0.451,X[28,82]=0.455,X[29,82]=0.463,X[30,82]=0.486,X[31,82]=0.541,X[32,82]=0.698,X[33,82]=0.647,X[34,82]=0.612,X[35,82]=0.522,X[36,82]=0.302,X[37,82]=0.337,X[38,82]=0.506,X[39,82]=0.549,X[40,82]=0.514,X[41,82]=0.608,X[42,82]=0.588,X[43,82]=0.549,X[44,82]=0.353,X[45,82]=0.275,X[46,82]=0.357,X[47,82]=0.478,X[48,82]=0.518,X[49,82]=0.525,X[50,82]=0.494 X[51,82]=0.463,X[52,82]=0.494,X[53,82]=0.502,X[54,82]=0.471,X[55,82]=0.447,X[56,82]=0.506,X[57,82]=0.498,X[58,82]=0.318,X[59,82]=0.220,X[60,82]=0.333,X[61,82]=0.412,X[62,82]=0.353,X[63,82]=0.576,X[64,82]=0.553,X[65,82]=0.565,X[66,82]=0.525,X[67,82]=0.467,X[68,82]=0.627,X[69,82]=0.788,X[70,82]=0.592,X[71,82]=0.459,X[72,82]=0.522,X[73,82]=0.827,X[74,82]=0.792,X[75,82]=0.537,X[76,82]=0.506,X[77,82]=0.475,X[78,82]=0.529,X[79,82]=0.584,X[80,82]=0.525,X[81,82]=0.545,X[82,82]=0.592,X[83,82]=0.541,X[84,82]=0.671,X[85,82]=0.741,X[86,82]=0.557,X[87,82]=0.400,X[88,82]=0.318,X[89,82]=0.424,X[90,82]=0.506,X[91,82]=0.725,X[92,82]=0.541,X[93,82]=0.384,X[94,82]=0.451,X[95,82]=0.694,X[96,82]=0.616,X[97,82]=0.267,X[98,82]=0.125,X[99,82]=0.486,X[100,82]=0.596 X[1,83]=0.518,X[2,83]=0.549,X[3,83]=0.525,X[4,83]=0.494,X[5,83]=0.533,X[6,83]=0.522,X[7,83]=0.486,X[8,83]=0.463,X[9,83]=0.537,X[10,83]=0.514,X[11,83]=0.478,X[12,83]=0.482,X[13,83]=0.529,X[14,83]=0.482,X[15,83]=0.384,X[16,83]=0.322,X[17,83]=0.349,X[18,83]=0.518,X[19,83]=0.616,X[20,83]=0.302,X[21,83]=0.235,X[22,83]=0.310,X[23,83]=0.549,X[24,83]=0.690,X[25,83]=0.557,X[26,83]=0.345,X[27,83]=0.439,X[28,83]=0.447,X[29,83]=0.365,X[30,83]=0.584,X[31,83]=0.522,X[32,83]=0.592,X[33,83]=0.620,X[34,83]=0.651,X[35,83]=0.561,X[36,83]=0.404,X[37,83]=0.506,X[38,83]=0.565,X[39,83]=0.612,X[40,83]=0.569,X[41,83]=0.592,X[42,83]=0.702,X[43,83]=0.659,X[44,83]=0.506,X[45,83]=0.349,X[46,83]=0.373,X[47,83]=0.459,X[48,83]=0.502,X[49,83]=0.565,X[50,83]=0.565 X[51,83]=0.471,X[52,83]=0.341,X[53,83]=0.220,X[54,83]=0.251,X[55,83]=0.447,X[56,83]=0.518,X[57,83]=0.545,X[58,83]=0.443,X[59,83]=0.361,X[60,83]=0.353,X[61,83]=0.306,X[62,83]=0.416,X[63,83]=0.596,X[64,83]=0.533,X[65,83]=0.631,X[66,83]=0.545,X[67,83]=0.518,X[68,83]=0.620,X[69,83]=0.682,X[70,83]=0.537,X[71,83]=0.494,X[72,83]=0.490,X[73,83]=0.737,X[74,83]=0.718,X[75,83]=0.588,X[76,83]=0.502,X[77,83]=0.478,X[78,83]=0.573,X[79,83]=0.600,X[80,83]=0.557,X[81,83]=0.643,X[82,83]=0.694,X[83,83]=0.608,X[84,83]=0.694,X[85,83]=0.698,X[86,83]=0.541,X[87,83]=0.553,X[88,83]=0.502,X[89,83]=0.365,X[90,83]=0.478,X[91,83]=0.733,X[92,83]=0.631,X[93,83]=0.482,X[94,83]=0.373,X[95,83]=0.710,X[96,83]=0.780,X[97,83]=0.404,X[98,83]=0.173,X[99,83]=0.337,X[100,83]=0.298 X[1,84]=0.451,X[2,84]=0.490,X[3,84]=0.549,X[4,84]=0.514,X[5,84]=0.502,X[6,84]=0.529,X[7,84]=0.518,X[8,84]=0.514,X[9,84]=0.569,X[10,84]=0.541,X[11,84]=0.514,X[12,84]=0.486,X[13,84]=0.541,X[14,84]=0.467,X[15,84]=0.376,X[16,84]=0.286,X[17,84]=0.290,X[18,84]=0.518,X[19,84]=0.459,X[20,84]=0.310,X[21,84]=0.216,X[22,84]=0.239,X[23,84]=0.424,X[24,84]=0.533,X[25,84]=0.561,X[26,84]=0.514,X[27,84]=0.569,X[28,84]=0.345,X[29,84]=0.325,X[30,84]=0.451,X[31,84]=0.533,X[32,84]=0.525,X[33,84]=0.545,X[34,84]=0.765,X[35,84]=0.682,X[36,84]=0.463,X[37,84]=0.455,X[38,84]=0.412,X[39,84]=0.365,X[40,84]=0.420,X[41,84]=0.506,X[42,84]=0.643,X[43,84]=0.776,X[44,84]=0.678,X[45,84]=0.514,X[46,84]=0.447,X[47,84]=0.482,X[48,84]=0.514,X[49,84]=0.529,X[50,84]=0.549 X[51,84]=0.494,X[52,84]=0.435,X[53,84]=0.604,X[54,84]=0.655,X[55,84]=0.522,X[56,84]=0.576,X[57,84]=0.659,X[58,84]=0.631,X[59,84]=0.471,X[60,84]=0.310,X[61,84]=0.196,X[62,84]=0.592,X[63,84]=0.537,X[64,84]=0.502,X[65,84]=0.561,X[66,84]=0.514,X[67,84]=0.494,X[68,84]=0.518,X[69,84]=0.490,X[70,84]=0.525,X[71,84]=0.478,X[72,84]=0.502,X[73,84]=0.565,X[74,84]=0.478,X[75,84]=0.431,X[76,84]=0.420,X[77,84]=0.459,X[78,84]=0.478,X[79,84]=0.537,X[80,84]=0.514,X[81,84]=0.522,X[82,84]=0.455,X[83,84]=0.533,X[84,84]=0.796,X[85,84]=0.812,X[86,84]=0.729,X[87,84]=0.631,X[88,84]=0.502,X[89,84]=0.318,X[90,84]=0.439,X[91,84]=0.600,X[92,84]=0.694,X[93,84]=0.537,X[94,84]=0.373,X[95,84]=0.675,X[96,84]=0.945,X[97,84]=0.588,X[98,84]=0.337,X[99,84]=0.404,X[100,84]=0.353 X[1,85]=0.463,X[2,85]=0.506,X[3,85]=0.529,X[4,85]=0.475,X[5,85]=0.482,X[6,85]=0.545,X[7,85]=0.518,X[8,85]=0.529,X[9,85]=0.592,X[10,85]=0.616,X[11,85]=0.608,X[12,85]=0.514,X[13,85]=0.467,X[14,85]=0.451,X[15,85]=0.361,X[16,85]=0.208,X[17,85]=0.353,X[18,85]=0.518,X[19,85]=0.475,X[20,85]=0.369,X[21,85]=0.239,X[22,85]=0.180,X[23,85]=0.271,X[24,85]=0.596,X[25,85]=0.557,X[26,85]=0.616,X[27,85]=0.667,X[28,85]=0.318,X[29,85]=0.361,X[30,85]=0.533,X[31,85]=0.467,X[32,85]=0.486,X[33,85]=0.557,X[34,85]=0.690,X[35,85]=0.502,X[36,85]=0.424,X[37,85]=0.482,X[38,85]=0.369,X[39,85]=0.333,X[40,85]=0.376,X[41,85]=0.463,X[42,85]=0.573,X[43,85]=0.749,X[44,85]=0.682,X[45,85]=0.573,X[46,85]=0.502,X[47,85]=0.451,X[48,85]=0.490,X[49,85]=0.494,X[50,85]=0.565 X[51,85]=0.675,X[52,85]=0.804,X[53,85]=0.816,X[54,85]=0.839,X[55,85]=0.690,X[56,85]=0.639,X[57,85]=0.694,X[58,85]=0.757,X[59,85]=0.651,X[60,85]=0.482,X[61,85]=0.329,X[62,85]=0.573,X[63,85]=0.553,X[64,85]=0.478,X[65,85]=0.471,X[66,85]=0.514,X[67,85]=0.494,X[68,85]=0.490,X[69,85]=0.533,X[70,85]=0.561,X[71,85]=0.498,X[72,85]=0.502,X[73,85]=0.506,X[74,85]=0.631,X[75,85]=0.604,X[76,85]=0.635,X[77,85]=0.655,X[78,85]=0.545,X[79,85]=0.443,X[80,85]=0.396,X[81,85]=0.369,X[82,85]=0.259,X[83,85]=0.404,X[84,85]=0.745,X[85,85]=0.557,X[86,85]=0.420,X[87,85]=0.380,X[88,85]=0.224,X[89,85]=0.333,X[90,85]=0.318,X[91,85]=0.329,X[92,85]=0.671,X[93,85]=0.647,X[94,85]=0.416,X[95,85]=0.498,X[96,85]=0.733,X[97,85]=0.576,X[98,85]=0.502,X[99,85]=0.435,X[100,85]=0.404 X[1,86]=0.522,X[2,86]=0.541,X[3,86]=0.549,X[4,86]=0.447,X[5,86]=0.447,X[6,86]=0.522,X[7,86]=0.471,X[8,86]=0.514,X[9,86]=0.569,X[10,86]=0.596,X[11,86]=0.498,X[12,86]=0.463,X[13,86]=0.451,X[14,86]=0.404,X[15,86]=0.325,X[16,86]=0.396,X[17,86]=0.573,X[18,86]=0.545,X[19,86]=0.525,X[20,86]=0.443,X[21,86]=0.251,X[22,86]=0.102,X[23,86]=0.192,X[24,86]=0.420,X[25,86]=0.416,X[26,86]=0.639,X[27,86]=0.663,X[28,86]=0.494,X[29,86]=0.412,X[30,86]=0.490,X[31,86]=0.510,X[32,86]=0.478,X[33,86]=0.514,X[34,86]=0.565,X[35,86]=0.451,X[36,86]=0.502,X[37,86]=0.549,X[38,86]=0.459,X[39,86]=0.471,X[40,86]=0.455,X[41,86]=0.435,X[42,86]=0.557,X[43,86]=0.616,X[44,86]=0.565,X[45,86]=0.588,X[46,86]=0.522,X[47,86]=0.478,X[48,86]=0.498,X[49,86]=0.482,X[50,86]=0.502 X[51,86]=0.482,X[52,86]=0.627,X[53,86]=0.776,X[54,86]=0.800,X[55,86]=0.788,X[56,86]=0.702,X[57,86]=0.612,X[58,86]=0.729,X[59,86]=0.769,X[60,86]=0.498,X[61,86]=0.475,X[62,86]=0.506,X[63,86]=0.545,X[64,86]=0.522,X[65,86]=0.475,X[66,86]=0.498,X[67,86]=0.522,X[68,86]=0.486,X[69,86]=0.506,X[70,86]=0.525,X[71,86]=0.612,X[72,86]=0.698,X[73,86]=0.769,X[74,86]=0.871,X[75,86]=0.835,X[76,86]=0.812,X[77,86]=0.773,X[78,86]=0.737,X[79,86]=0.557,X[80,86]=0.392,X[81,86]=0.294,X[82,86]=0.204,X[83,86]=0.282,X[84,86]=0.424,X[85,86]=0.322,X[86,86]=0.341,X[87,86]=0.306,X[88,86]=0.451,X[89,86]=0.541,X[90,86]=0.400,X[91,86]=0.431,X[92,86]=0.702,X[93,86]=0.639,X[94,86]=0.376,X[95,86]=0.596,X[96,86]=0.576,X[97,86]=0.455,X[98,86]=0.545,X[99,86]=0.498,X[100,86]=0.447 X[1,87]=0.502,X[2,87]=0.533,X[3,87]=0.529,X[4,87]=0.451,X[5,87]=0.471,X[6,87]=0.478,X[7,87]=0.455,X[8,87]=0.427,X[9,87]=0.475,X[10,87]=0.525,X[11,87]=0.498,X[12,87]=0.482,X[13,87]=0.451,X[14,87]=0.439,X[15,87]=0.443,X[16,87]=0.502,X[17,87]=0.518,X[18,87]=0.506,X[19,87]=0.482,X[20,87]=0.451,X[21,87]=0.361,X[22,87]=0.149,X[23,87]=0.188,X[24,87]=0.263,X[25,87]=0.369,X[26,87]=0.655,X[27,87]=0.624,X[28,87]=0.408,X[29,87]=0.502,X[30,87]=0.490,X[31,87]=0.506,X[32,87]=0.451,X[33,87]=0.522,X[34,87]=0.533,X[35,87]=0.459,X[36,87]=0.498,X[37,87]=0.518,X[38,87]=0.561,X[39,87]=0.545,X[40,87]=0.459,X[41,87]=0.396,X[42,87]=0.498,X[43,87]=0.529,X[44,87]=0.475,X[45,87]=0.541,X[46,87]=0.486,X[47,87]=0.502,X[48,87]=0.478,X[49,87]=0.502,X[50,87]=0.490 X[51,87]=0.380,X[52,87]=0.271,X[53,87]=0.463,X[54,87]=0.596,X[55,87]=0.573,X[56,87]=0.482,X[57,87]=0.439,X[58,87]=0.522,X[59,87]=0.647,X[60,87]=0.420,X[61,87]=0.365,X[62,87]=0.455,X[63,87]=0.494,X[64,87]=0.494,X[65,87]=0.420,X[66,87]=0.424,X[67,87]=0.396,X[68,87]=0.451,X[69,87]=0.467,X[70,87]=0.627,X[71,87]=0.773,X[72,87]=0.702,X[73,87]=0.631,X[74,87]=0.604,X[75,87]=0.608,X[76,87]=0.710,X[77,87]=0.835,X[78,87]=0.757,X[79,87]=0.553,X[80,87]=0.533,X[81,87]=0.447,X[82,87]=0.239,X[83,87]=0.247,X[84,87]=0.435,X[85,87]=0.478,X[86,87]=0.490,X[87,87]=0.408,X[88,87]=0.624,X[89,87]=0.678,X[90,87]=0.533,X[91,87]=0.471,X[92,87]=0.588,X[93,87]=0.725,X[94,87]=0.380,X[95,87]=0.439,X[96,87]=0.502,X[97,87]=0.494,X[98,87]=0.569,X[99,87]=0.529,X[100,87]=0.541 X[1,88]=0.533,X[2,88]=0.588,X[3,88]=0.596,X[4,88]=0.592,X[5,88]=0.537,X[6,88]=0.447,X[7,88]=0.408,X[8,88]=0.400,X[9,88]=0.494,X[10,88]=0.502,X[11,88]=0.541,X[12,88]=0.533,X[13,88]=0.471,X[14,88]=0.380,X[15,88]=0.396,X[16,88]=0.455,X[17,88]=0.463,X[18,88]=0.459,X[19,88]=0.494,X[20,88]=0.494,X[21,88]=0.490,X[22,88]=0.318,X[23,88]=0.239,X[24,88]=0.302,X[25,88]=0.376,X[26,88]=0.431,X[27,88]=0.514,X[28,88]=0.392,X[29,88]=0.396,X[30,88]=0.463,X[31,88]=0.541,X[32,88]=0.447,X[33,88]=0.396,X[34,88]=0.357,X[35,88]=0.459,X[36,88]=0.529,X[37,88]=0.545,X[38,88]=0.557,X[39,88]=0.525,X[40,88]=0.424,X[41,88]=0.333,X[42,88]=0.439,X[43,88]=0.431,X[44,88]=0.424,X[45,88]=0.502,X[46,88]=0.471,X[47,88]=0.486,X[48,88]=0.451,X[49,88]=0.475,X[50,88]=0.522 X[51,88]=0.510,X[52,88]=0.302,X[53,88]=0.161,X[54,88]=0.180,X[55,88]=0.290,X[56,88]=0.278,X[57,88]=0.325,X[58,88]=0.353,X[59,88]=0.400,X[60,88]=0.424,X[61,88]=0.380,X[62,88]=0.427,X[63,88]=0.494,X[64,88]=0.557,X[65,88]=0.494,X[66,88]=0.282,X[67,88]=0.271,X[68,88]=0.420,X[69,88]=0.569,X[70,88]=0.635,X[71,88]=0.596,X[72,88]=0.490,X[73,88]=0.463,X[74,88]=0.471,X[75,88]=0.518,X[76,88]=0.616,X[77,88]=0.671,X[78,88]=0.541,X[79,88]=0.463,X[80,88]=0.486,X[81,88]=0.420,X[82,88]=0.333,X[83,88]=0.424,X[84,88]=0.439,X[85,88]=0.478,X[86,88]=0.239,X[87,88]=0.145,X[88,88]=0.212,X[89,88]=0.486,X[90,88]=0.361,X[91,88]=0.365,X[92,88]=0.475,X[93,88]=0.502,X[94,88]=0.780,X[95,88]=0.545,X[96,88]=0.431,X[97,88]=0.494,X[98,88]=0.529,X[99,88]=0.502,X[100,88]=0.541 X[1,89]=0.576,X[2,89]=0.612,X[3,89]=0.573,X[4,89]=0.525,X[5,89]=0.502,X[6,89]=0.471,X[7,89]=0.424,X[8,89]=0.451,X[9,89]=0.459,X[10,89]=0.451,X[11,89]=0.506,X[12,89]=0.529,X[13,89]=0.486,X[14,89]=0.412,X[15,89]=0.455,X[16,89]=0.525,X[17,89]=0.498,X[18,89]=0.490,X[19,89]=0.514,X[20,89]=0.518,X[21,89]=0.443,X[22,89]=0.408,X[23,89]=0.329,X[24,89]=0.286,X[25,89]=0.306,X[26,89]=0.329,X[27,89]=0.373,X[28,89]=0.431,X[29,89]=0.506,X[30,89]=0.596,X[31,89]=0.569,X[32,89]=0.475,X[33,89]=0.278,X[34,89]=0.298,X[35,89]=0.447,X[36,89]=0.482,X[37,89]=0.514,X[38,89]=0.537,X[39,89]=0.502,X[40,89]=0.396,X[41,89]=0.337,X[42,89]=0.467,X[43,89]=0.459,X[44,89]=0.373,X[45,89]=0.420,X[46,89]=0.514,X[47,89]=0.510,X[48,89]=0.416,X[49,89]=0.376,X[50,89]=0.643 X[51,89]=0.690,X[52,89]=0.553,X[53,89]=0.212,X[54,89]=0.157,X[55,89]=0.243,X[56,89]=0.298,X[57,89]=0.275,X[58,89]=0.231,X[59,89]=0.286,X[60,89]=0.529,X[61,89]=0.616,X[62,89]=0.576,X[63,89]=0.663,X[64,89]=0.600,X[65,89]=0.518,X[66,89]=0.322,X[67,89]=0.302,X[68,89]=0.404,X[69,89]=0.502,X[70,89]=0.510,X[71,89]=0.537,X[72,89]=0.490,X[73,89]=0.471,X[74,89]=0.478,X[75,89]=0.408,X[76,89]=0.361,X[77,89]=0.451,X[78,89]=0.451,X[79,89]=0.451,X[80,89]=0.490,X[81,89]=0.620,X[82,89]=0.616,X[83,89]=0.522,X[84,89]=0.439,X[85,89]=0.314,X[86,89]=0.161,X[87,89]=0.188,X[88,89]=0.090,X[89,89]=0.180,X[90,89]=0.204,X[91,89]=0.216,X[92,89]=0.494,X[93,89]=0.439,X[94,89]=0.616,X[95,89]=0.604,X[96,89]=0.514,X[97,89]=0.529,X[98,89]=0.510,X[99,89]=0.600,X[100,89]=0.584 X[1,90]=0.490,X[2,90]=0.455,X[3,90]=0.514,X[4,90]=0.533,X[5,90]=0.478,X[6,90]=0.475,X[7,90]=0.451,X[8,90]=0.482,X[9,90]=0.494,X[10,90]=0.522,X[11,90]=0.565,X[12,90]=0.561,X[13,90]=0.600,X[14,90]=0.553,X[15,90]=0.569,X[16,90]=0.620,X[17,90]=0.545,X[18,90]=0.561,X[19,90]=0.522,X[20,90]=0.494,X[21,90]=0.486,X[22,90]=0.412,X[23,90]=0.353,X[24,90]=0.341,X[25,90]=0.329,X[26,90]=0.333,X[27,90]=0.333,X[28,90]=0.510,X[29,90]=0.565,X[30,90]=0.671,X[31,90]=0.682,X[32,90]=0.604,X[33,90]=0.424,X[34,90]=0.337,X[35,90]=0.420,X[36,90]=0.490,X[37,90]=0.533,X[38,90]=0.576,X[39,90]=0.584,X[40,90]=0.459,X[41,90]=0.404,X[42,90]=0.549,X[43,90]=0.518,X[44,90]=0.259,X[45,90]=0.373,X[46,90]=0.545,X[47,90]=0.620,X[48,90]=0.463,X[49,90]=0.204,X[50,90]=0.490 X[51,90]=0.757,X[52,90]=0.796,X[53,90]=0.502,X[54,90]=0.416,X[55,90]=0.373,X[56,90]=0.306,X[57,90]=0.341,X[58,90]=0.325,X[59,90]=0.361,X[60,90]=0.514,X[61,90]=0.569,X[62,90]=0.522,X[63,90]=0.604,X[64,90]=0.741,X[65,90]=0.694,X[66,90]=0.510,X[67,90]=0.384,X[68,90]=0.412,X[69,90]=0.494,X[70,90]=0.525,X[71,90]=0.580,X[72,90]=0.557,X[73,90]=0.420,X[74,90]=0.278,X[75,90]=0.294,X[76,90]=0.404,X[77,90]=0.467,X[78,90]=0.545,X[79,90]=0.522,X[80,90]=0.557,X[81,90]=0.698,X[82,90]=0.796,X[83,90]=0.706,X[84,90]=0.576,X[85,90]=0.498,X[86,90]=0.482,X[87,90]=0.459,X[88,90]=0.498,X[89,90]=0.278,X[90,90]=0.255,X[91,90]=0.208,X[92,90]=0.125,X[93,90]=0.451,X[94,90]=0.459,X[95,90]=0.467,X[96,90]=0.533,X[97,90]=0.580,X[98,90]=0.565,X[99,90]=0.533,X[100,90]=0.502 X[1,91]=0.471,X[2,91]=0.514,X[3,91]=0.467,X[4,91]=0.510,X[5,91]=0.557,X[6,91]=0.596,X[7,91]=0.529,X[8,91]=0.686,X[9,91]=0.620,X[10,91]=0.510,X[11,91]=0.561,X[12,91]=0.647,X[13,91]=0.631,X[14,91]=0.529,X[15,91]=0.588,X[16,91]=0.624,X[17,91]=0.631,X[18,91]=0.573,X[19,91]=0.522,X[20,91]=0.447,X[21,91]=0.455,X[22,91]=0.463,X[23,91]=0.435,X[24,91]=0.447,X[25,91]=0.459,X[26,91]=0.408,X[27,91]=0.361,X[28,91]=0.396,X[29,91]=0.467,X[30,91]=0.569,X[31,91]=0.741,X[32,91]=0.765,X[33,91]=0.596,X[34,91]=0.471,X[35,91]=0.443,X[36,91]=0.510,X[37,91]=0.502,X[38,91]=0.604,X[39,91]=0.635,X[40,91]=0.494,X[41,91]=0.424,X[42,91]=0.671,X[43,91]=0.510,X[44,91]=0.247,X[45,91]=0.322,X[46,91]=0.525,X[47,91]=0.729,X[48,91]=0.529,X[49,91]=0.145,X[50,91]=0.212 X[51,91]=0.525,X[52,91]=0.647,X[53,91]=0.545,X[54,91]=0.467,X[55,91]=0.467,X[56,91]=0.498,X[57,91]=0.545,X[58,91]=0.427,X[59,91]=0.341,X[60,91]=0.361,X[61,91]=0.361,X[62,91]=0.427,X[63,91]=0.514,X[64,91]=0.682,X[65,91]=0.784,X[66,91]=0.639,X[67,91]=0.502,X[68,91]=0.451,X[69,91]=0.502,X[70,91]=0.502,X[71,91]=0.529,X[72,91]=0.541,X[73,91]=0.525,X[74,91]=0.635,X[75,91]=0.753,X[76,91]=0.678,X[77,91]=0.525,X[78,91]=0.475,X[79,91]=0.373,X[80,91]=0.412,X[81,91]=0.639,X[82,91]=0.796,X[83,91]=0.855,X[84,91]=0.624,X[85,91]=0.510,X[86,91]=0.565,X[87,91]=0.718,X[88,91]=0.808,X[89,91]=0.573,X[90,91]=0.361,X[91,91]=0.518,X[92,91]=0.404,X[93,91]=0.478,X[94,91]=0.549,X[95,91]=0.525,X[96,91]=0.478,X[97,91]=0.435,X[98,91]=0.490,X[99,91]=0.471,X[100,91]=0.435 X[1,92]=0.451,X[2,92]=0.494,X[3,92]=0.506,X[4,92]=0.486,X[5,92]=0.710,X[6,92]=0.949,X[7,92]=0.553,X[8,92]=0.765,X[9,92]=0.663,X[10,92]=0.655,X[11,92]=0.537,X[12,92]=0.522,X[13,92]=0.459,X[14,92]=0.424,X[15,92]=0.525,X[16,92]=0.549,X[17,92]=0.494,X[18,92]=0.486,X[19,92]=0.522,X[20,92]=0.514,X[21,92]=0.467,X[22,92]=0.408,X[23,92]=0.380,X[24,92]=0.514,X[25,92]=0.604,X[26,92]=0.443,X[27,92]=0.333,X[28,92]=0.349,X[29,92]=0.431,X[30,92]=0.494,X[31,92]=0.659,X[32,92]=0.761,X[33,92]=0.616,X[34,92]=0.533,X[35,92]=0.455,X[36,92]=0.471,X[37,92]=0.494,X[38,92]=0.557,X[39,92]=0.588,X[40,92]=0.408,X[41,92]=0.463,X[42,92]=0.769,X[43,92]=0.612,X[44,92]=0.427,X[45,92]=0.392,X[46,92]=0.475,X[47,92]=0.812,X[48,92]=0.678,X[49,92]=0.259,X[50,92]=0.192 X[51,92]=0.431,X[52,92]=0.525,X[53,92]=0.475,X[54,92]=0.486,X[55,92]=0.443,X[56,92]=0.478,X[57,92]=0.502,X[58,92]=0.404,X[59,92]=0.369,X[60,92]=0.365,X[61,92]=0.373,X[62,92]=0.416,X[63,92]=0.471,X[64,92]=0.612,X[65,92]=0.694,X[66,92]=0.616,X[67,92]=0.569,X[68,92]=0.494,X[69,92]=0.463,X[70,92]=0.475,X[71,92]=0.498,X[72,92]=0.580,X[73,92]=0.729,X[74,92]=0.863,X[75,92]=0.867,X[76,92]=0.792,X[77,92]=0.714,X[78,92]=0.494,X[79,92]=0.263,X[80,92]=0.192,X[81,92]=0.467,X[82,92]=0.741,X[83,92]=0.863,X[84,92]=0.675,X[85,92]=0.259,X[86,92]=0.361,X[87,92]=0.757,X[88,92]=0.835,X[89,92]=0.773,X[90,92]=0.565,X[91,92]=0.608,X[92,92]=0.698,X[93,92]=0.792,X[94,92]=0.792,X[95,92]=0.616,X[96,92]=0.404,X[97,92]=0.439,X[98,92]=0.490,X[99,92]=0.522,X[100,92]=0.482 X[1,93]=0.482,X[2,93]=0.471,X[3,93]=0.494,X[4,93]=0.416,X[5,93]=0.580,X[6,93]=0.769,X[7,93]=0.643,X[8,93]=0.718,X[9,93]=0.749,X[10,93]=0.729,X[11,93]=0.490,X[12,93]=0.467,X[13,93]=0.471,X[14,93]=0.439,X[15,93]=0.420,X[16,93]=0.467,X[17,93]=0.549,X[18,93]=0.510,X[19,93]=0.482,X[20,93]=0.518,X[21,93]=0.529,X[22,93]=0.439,X[23,93]=0.380,X[24,93]=0.420,X[25,93]=0.439,X[26,93]=0.447,X[27,93]=0.443,X[28,93]=0.459,X[29,93]=0.431,X[30,93]=0.420,X[31,93]=0.576,X[32,93]=0.604,X[33,93]=0.588,X[34,93]=0.573,X[35,93]=0.502,X[36,93]=0.471,X[37,93]=0.502,X[38,93]=0.537,X[39,93]=0.522,X[40,93]=0.341,X[41,93]=0.561,X[42,93]=0.784,X[43,93]=0.698,X[44,93]=0.616,X[45,93]=0.510,X[46,93]=0.447,X[47,93]=0.804,X[48,93]=0.847,X[49,93]=0.792,X[50,93]=0.529 X[51,93]=0.482,X[52,93]=0.502,X[53,93]=0.455,X[54,93]=0.475,X[55,93]=0.412,X[56,93]=0.302,X[57,93]=0.345,X[58,93]=0.427,X[59,93]=0.478,X[60,93]=0.498,X[61,93]=0.482,X[62,93]=0.369,X[63,93]=0.357,X[64,93]=0.565,X[65,93]=0.557,X[66,93]=0.541,X[67,93]=0.553,X[68,93]=0.506,X[69,93]=0.486,X[70,93]=0.494,X[71,93]=0.482,X[72,93]=0.459,X[73,93]=0.427,X[74,93]=0.596,X[75,93]=0.784,X[76,93]=0.851,X[77,93]=0.855,X[78,93]=0.651,X[79,93]=0.337,X[80,93]=0.165,X[81,93]=0.314,X[82,93]=0.663,X[83,93]=0.839,X[84,93]=0.694,X[85,93]=0.314,X[86,93]=0.388,X[87,93]=0.600,X[88,93]=0.792,X[89,93]=0.694,X[90,93]=0.537,X[91,93]=0.576,X[92,93]=0.698,X[93,93]=0.788,X[94,93]=0.851,X[95,93]=0.702,X[96,93]=0.455,X[97,93]=0.482,X[98,93]=0.482,X[99,93]=0.463,X[100,93]=0.494 X[1,94]=0.518,X[2,94]=0.545,X[3,94]=0.545,X[4,94]=0.490,X[5,94]=0.635,X[6,94]=0.549,X[7,94]=0.722,X[8,94]=0.710,X[9,94]=0.722,X[10,94]=0.584,X[11,94]=0.643,X[12,94]=0.518,X[13,94]=0.447,X[14,94]=0.455,X[15,94]=0.514,X[16,94]=0.502,X[17,94]=0.510,X[18,94]=0.514,X[19,94]=0.498,X[20,94]=0.580,X[21,94]=0.588,X[22,94]=0.396,X[23,94]=0.333,X[24,94]=0.282,X[25,94]=0.314,X[26,94]=0.404,X[27,94]=0.463,X[28,94]=0.447,X[29,94]=0.247,X[30,94]=0.239,X[31,94]=0.541,X[32,94]=0.502,X[33,94]=0.502,X[34,94]=0.533,X[35,94]=0.486,X[36,94]=0.498,X[37,94]=0.482,X[38,94]=0.588,X[39,94]=0.502,X[40,94]=0.314,X[41,94]=0.380,X[42,94]=0.561,X[43,94]=0.635,X[44,94]=0.635,X[45,94]=0.490,X[46,94]=0.514,X[47,94]=0.718,X[48,94]=0.839,X[49,94]=0.816,X[50,94]=0.612 X[51,94]=0.588,X[52,94]=0.537,X[53,94]=0.498,X[54,94]=0.459,X[55,94]=0.369,X[56,94]=0.251,X[57,94]=0.302,X[58,94]=0.365,X[59,94]=0.384,X[60,94]=0.325,X[61,94]=0.275,X[62,94]=0.133,X[63,94]=0.239,X[64,94]=0.522,X[65,94]=0.478,X[66,94]=0.467,X[67,94]=0.525,X[68,94]=0.475,X[69,94]=0.502,X[70,94]=0.455,X[71,94]=0.494,X[72,94]=0.490,X[73,94]=0.361,X[74,94]=0.255,X[75,94]=0.384,X[76,94]=0.612,X[77,94]=0.686,X[78,94]=0.514,X[79,94]=0.314,X[80,94]=0.220,X[81,94]=0.259,X[82,94]=0.541,X[83,94]=0.851,X[84,94]=0.627,X[85,94]=0.416,X[86,94]=0.502,X[87,94]=0.549,X[88,94]=0.773,X[89,94]=0.596,X[90,94]=0.506,X[91,94]=0.510,X[92,94]=0.494,X[93,94]=0.667,X[94,94]=0.851,X[95,94]=0.592,X[96,94]=0.435,X[97,94]=0.420,X[98,94]=0.455,X[99,94]=0.498,X[100,94]=0.490 X[1,95]=0.478,X[2,95]=0.494,X[3,95]=0.447,X[4,95]=0.314,X[5,95]=0.624,X[6,95]=0.592,X[7,95]=0.506,X[8,95]=0.565,X[9,95]=0.788,X[10,95]=0.796,X[11,95]=0.784,X[12,95]=0.592,X[13,95]=0.459,X[14,95]=0.490,X[15,95]=0.459,X[16,95]=0.498,X[17,95]=0.522,X[18,95]=0.443,X[19,95]=0.431,X[20,95]=0.529,X[21,95]=0.565,X[22,95]=0.447,X[23,95]=0.373,X[24,95]=0.271,X[25,95]=0.263,X[26,95]=0.275,X[27,95]=0.275,X[28,95]=0.282,X[29,95]=0.098,X[30,95]=0.212,X[31,95]=0.482,X[32,95]=0.424,X[33,95]=0.455,X[34,95]=0.506,X[35,95]=0.455,X[36,95]=0.486,X[37,95]=0.376,X[38,95]=0.525,X[39,95]=0.537,X[40,95]=0.435,X[41,95]=0.369,X[42,95]=0.290,X[43,95]=0.412,X[44,95]=0.659,X[45,95]=0.518,X[46,95]=0.412,X[47,95]=0.494,X[48,95]=0.784,X[49,95]=0.788,X[50,95]=0.847 X[51,95]=0.800,X[52,95]=0.514,X[53,95]=0.502,X[54,95]=0.482,X[55,95]=0.431,X[56,95]=0.361,X[57,95]=0.302,X[58,95]=0.298,X[59,95]=0.322,X[60,95]=0.373,X[61,95]=0.310,X[62,95]=0.184,X[63,95]=0.341,X[64,95]=0.459,X[65,95]=0.412,X[66,95]=0.416,X[67,95]=0.502,X[68,95]=0.467,X[69,95]=0.498,X[70,95]=0.380,X[71,95]=0.498,X[72,95]=0.549,X[73,95]=0.514,X[74,95]=0.290,X[75,95]=0.122,X[76,95]=0.212,X[77,95]=0.424,X[78,95]=0.455,X[79,95]=0.314,X[80,95]=0.235,X[81,95]=0.216,X[82,95]=0.443,X[83,95]=0.686,X[84,95]=0.510,X[85,95]=0.424,X[86,95]=0.514,X[87,95]=0.596,X[88,95]=0.780,X[89,95]=0.620,X[90,95]=0.498,X[91,95]=0.482,X[92,95]=0.451,X[93,95]=0.569,X[94,95]=0.604,X[95,95]=0.475,X[96,95]=0.518,X[97,95]=0.537,X[98,95]=0.502,X[99,95]=0.545,X[100,95]=0.557 X[1,96]=0.227,X[2,96]=0.043,X[3,96]=0.212,X[4,96]=0.220,X[5,96]=0.392,X[6,96]=0.467,X[7,96]=0.435,X[8,96]=0.663,X[9,96]=0.761,X[10,96]=0.824,X[11,96]=0.702,X[12,96]=0.510,X[13,96]=0.490,X[14,96]=0.529,X[15,96]=0.459,X[16,96]=0.463,X[17,96]=0.565,X[18,96]=0.482,X[19,96]=0.447,X[20,96]=0.529,X[21,96]=0.510,X[22,96]=0.569,X[23,96]=0.502,X[24,96]=0.404,X[25,96]=0.369,X[26,96]=0.325,X[27,96]=0.380,X[28,96]=0.341,X[29,96]=0.075,X[30,96]=0.322,X[31,96]=0.494,X[32,96]=0.420,X[33,96]=0.357,X[34,96]=0.471,X[35,96]=0.514,X[36,96]=0.502,X[37,96]=0.306,X[38,96]=0.463,X[39,96]=0.635,X[40,96]=0.616,X[41,96]=0.467,X[42,96]=0.282,X[43,96]=0.298,X[44,96]=0.404,X[45,96]=0.549,X[46,96]=0.247,X[47,96]=0.427,X[48,96]=0.851,X[49,96]=0.847,X[50,96]=0.784 X[51,96]=0.671,X[52,96]=0.576,X[53,96]=0.580,X[54,96]=0.573,X[55,96]=0.424,X[56,96]=0.408,X[57,96]=0.408,X[58,96]=0.482,X[59,96]=0.514,X[60,96]=0.573,X[61,96]=0.388,X[62,96]=0.290,X[63,96]=0.404,X[64,96]=0.506,X[65,96]=0.439,X[66,96]=0.333,X[67,96]=0.455,X[68,96]=0.557,X[69,96]=0.525,X[70,96]=0.318,X[71,96]=0.412,X[72,96]=0.690,X[73,96]=0.757,X[74,96]=0.518,X[75,96]=0.216,X[76,96]=0.400,X[77,96]=0.549,X[78,96]=0.600,X[79,96]=0.502,X[80,96]=0.329,X[81,96]=0.161,X[82,96]=0.431,X[83,96]=0.659,X[84,96]=0.451,X[85,96]=0.463,X[86,96]=0.506,X[87,96]=0.635,X[88,96]=0.733,X[89,96]=0.510,X[90,96]=0.518,X[91,96]=0.514,X[92,96]=0.471,X[93,96]=0.518,X[94,96]=0.502,X[95,96]=0.502,X[96,96]=0.592,X[97,96]=0.584,X[98,96]=0.533,X[99,96]=0.490,X[100,96]=0.502 X[1,97]=0.510,X[2,97]=0.325,X[3,97]=0.180,X[4,97]=0.447,X[5,97]=0.510,X[6,97]=0.459,X[7,97]=0.498,X[8,97]=0.569,X[9,97]=0.576,X[10,97]=0.678,X[11,97]=0.827,X[12,97]=0.592,X[13,97]=0.459,X[14,97]=0.463,X[15,97]=0.471,X[16,97]=0.525,X[17,97]=0.518,X[18,97]=0.514,X[19,97]=0.502,X[20,97]=0.537,X[21,97]=0.565,X[22,97]=0.592,X[23,97]=0.561,X[24,97]=0.502,X[25,97]=0.455,X[26,97]=0.412,X[27,97]=0.557,X[28,97]=0.427,X[29,97]=0.227,X[30,97]=0.420,X[31,97]=0.592,X[32,97]=0.384,X[33,97]=0.255,X[34,97]=0.455,X[35,97]=0.639,X[36,97]=0.569,X[37,97]=0.337,X[38,97]=0.294,X[39,97]=0.518,X[40,97]=0.714,X[41,97]=0.620,X[42,97]=0.439,X[43,97]=0.502,X[44,97]=0.541,X[45,97]=0.506,X[46,97]=0.369,X[47,97]=0.498,X[48,97]=0.580,X[49,97]=0.576,X[50,97]=0.847 X[51,97]=0.675,X[52,97]=0.580,X[53,97]=0.486,X[54,97]=0.412,X[55,97]=0.447,X[56,97]=0.447,X[57,97]=0.471,X[58,97]=0.506,X[59,97]=0.510,X[60,97]=0.443,X[61,97]=0.298,X[62,97]=0.392,X[63,97]=0.471,X[64,97]=0.647,X[65,97]=0.404,X[66,97]=0.227,X[67,97]=0.420,X[68,97]=0.639,X[69,97]=0.620,X[70,97]=0.353,X[71,97]=0.196,X[72,97]=0.502,X[73,97]=0.753,X[74,97]=0.706,X[75,97]=0.522,X[76,97]=0.655,X[77,97]=0.769,X[78,97]=0.788,X[79,97]=0.773,X[80,97]=0.620,X[81,97]=0.431,X[82,97]=0.475,X[83,97]=0.694,X[84,97]=0.502,X[85,97]=0.478,X[86,97]=0.498,X[87,97]=0.569,X[88,97]=0.557,X[89,97]=0.486,X[90,97]=0.576,X[91,97]=0.525,X[92,97]=0.592,X[93,97]=0.557,X[94,97]=0.604,X[95,97]=0.698,X[96,97]=0.780,X[97,97]=0.800,X[98,97]=0.698,X[99,97]=0.561,X[100,97]=0.510 X[1,98]=0.584,X[2,98]=0.459,X[3,98]=0.322,X[4,98]=0.380,X[5,98]=0.435,X[6,98]=0.482,X[7,98]=0.471,X[8,98]=0.439,X[9,98]=0.675,X[10,98]=0.788,X[11,98]=0.502,X[12,98]=0.557,X[13,98]=0.616,X[14,98]=0.494,X[15,98]=0.459,X[16,98]=0.439,X[17,98]=0.455,X[18,98]=0.478,X[19,98]=0.529,X[20,98]=0.494,X[21,98]=0.443,X[22,98]=0.431,X[23,98]=0.431,X[24,98]=0.510,X[25,98]=0.557,X[26,98]=0.506,X[27,98]=0.506,X[28,98]=0.275,X[29,98]=0.259,X[30,98]=0.467,X[31,98]=0.702,X[32,98]=0.388,X[33,98]=0.294,X[34,98]=0.392,X[35,98]=0.682,X[36,98]=0.698,X[37,98]=0.361,X[38,98]=0.157,X[39,98]=0.267,X[40,98]=0.533,X[41,98]=0.694,X[42,98]=0.518,X[43,98]=0.455,X[44,98]=0.671,X[45,98]=0.627,X[46,98]=0.431,X[47,98]=0.463,X[48,98]=0.588,X[49,98]=0.698,X[50,98]=0.557 X[51,98]=0.525,X[52,98]=0.518,X[53,98]=0.525,X[54,98]=0.467,X[55,98]=0.451,X[56,98]=0.463,X[57,98]=0.471,X[58,98]=0.427,X[59,98]=0.510,X[60,98]=0.365,X[61,98]=0.294,X[62,98]=0.388,X[63,98]=0.514,X[64,98]=0.663,X[65,98]=0.349,X[66,98]=0.227,X[67,98]=0.345,X[68,98]=0.647,X[69,98]=0.745,X[70,98]=0.412,X[71,98]=0.078,X[72,98]=0.255,X[73,98]=0.565,X[74,98]=0.525,X[75,98]=0.494,X[76,98]=0.490,X[77,98]=0.569,X[78,98]=0.667,X[79,98]=0.796,X[80,98]=0.612,X[81,98]=0.431,X[82,98]=0.502,X[83,98]=0.580,X[84,98]=0.537,X[85,98]=0.498,X[86,98]=0.490,X[87,98]=0.482,X[88,98]=0.486,X[89,98]=0.463,X[90,98]=0.510,X[91,98]=0.639,X[92,98]=0.769,X[93,98]=0.765,X[94,98]=0.729,X[95,98]=0.784,X[96,98]=0.847,X[97,98]=0.886,X[98,98]=0.875,X[99,98]=0.788,X[100,98]=0.584 X[1,99]=0.392,X[2,99]=0.161,X[3,99]=0.200,X[4,99]=0.231,X[5,99]=0.278,X[6,99]=0.384,X[7,99]=0.478,X[8,99]=0.455,X[9,99]=0.373,X[10,99]=0.776,X[11,99]=0.686,X[12,99]=0.800,X[13,99]=0.808,X[14,99]=0.514,X[15,99]=0.471,X[16,99]=0.431,X[17,99]=0.435,X[18,99]=0.431,X[19,99]=0.424,X[20,99]=0.467,X[21,99]=0.443,X[22,99]=0.427,X[23,99]=0.502,X[24,99]=0.533,X[25,99]=0.482,X[26,99]=0.498,X[27,99]=0.392,X[28,99]=0.204,X[29,99]=0.169,X[30,99]=0.525,X[31,99]=0.616,X[32,99]=0.302,X[33,99]=0.224,X[34,99]=0.310,X[35,99]=0.616,X[36,99]=0.816,X[37,99]=0.475,X[38,99]=0.149,X[39,99]=0.212,X[40,99]=0.388,X[41,99]=0.365,X[42,99]=0.353,X[43,99]=0.329,X[44,99]=0.341,X[45,99]=0.557,X[46,99]=0.290,X[47,99]=0.463,X[48,99]=0.337,X[49,99]=0.729,X[50,99]=0.635 X[51,99]=0.471,X[52,99]=0.573,X[53,99]=0.529,X[54,99]=0.459,X[55,99]=0.408,X[56,99]=0.404,X[57,99]=0.443,X[58,99]=0.412,X[59,99]=0.447,X[60,99]=0.325,X[61,99]=0.239,X[62,99]=0.318,X[63,99]=0.565,X[64,99]=0.510,X[65,99]=0.290,X[66,99]=0.235,X[67,99]=0.267,X[68,99]=0.600,X[69,99]=0.867,X[70,99]=0.573,X[71,99]=0.192,X[72,99]=0.267,X[73,99]=0.522,X[74,99]=0.431,X[75,99]=0.298,X[76,99]=0.271,X[77,99]=0.337,X[78,99]=0.404,X[79,99]=0.522,X[80,99]=0.525,X[81,99]=0.345,X[82,99]=0.412,X[83,99]=0.471,X[84,99]=0.498,X[85,99]=0.475,X[86,99]=0.416,X[87,99]=0.412,X[88,99]=0.404,X[89,99]=0.459,X[90,99]=0.549,X[91,99]=0.800,X[92,99]=0.741,X[93,99]=0.604,X[94,99]=0.522,X[95,99]=0.518,X[96,99]=0.616,X[97,99]=0.808,X[98,99]=0.863,X[99,99]=0.639,X[100,99]=0.435 X[1,100]=0.325,X[2,100]=0.212,X[3,100]=0.329,X[4,100]=0.271,X[5,100]=0.271,X[6,100]=0.502,X[7,100]=0.502,X[8,100]=0.412,X[9,100]=0.631,X[10,100]=0.788,X[11,100]=0.565,X[12,100]=0.780,X[13,100]=0.749,X[14,100]=0.529,X[15,100]=0.510,X[16,100]=0.482,X[17,100]=0.439,X[18,100]=0.416,X[19,100]=0.502,X[20,100]=0.545,X[21,100]=0.502,X[22,100]=0.439,X[23,100]=0.463,X[24,100]=0.510,X[25,100]=0.541,X[26,100]=0.565,X[27,100]=0.392,X[28,100]=0.165,X[29,100]=0.157,X[30,100]=0.612,X[31,100]=0.592,X[32,100]=0.333,X[33,100]=0.235,X[34,100]=0.298,X[35,100]=0.600,X[36,100]=0.827,X[37,100]=0.620,X[38,100]=0.333,X[39,100]=0.255,X[40,100]=0.463,X[41,100]=0.412,X[42,100]=0.392,X[43,100]=0.333,X[44,100]=0.247,X[45,100]=0.475,X[46,100]=0.349,X[47,100]=0.459,X[48,100]=0.537,X[49,100]=0.796,X[50,100]=0.659 X[51,100]=0.498,X[52,100]=0.549,X[53,100]=0.525,X[54,100]=0.435,X[55,100]=0.416,X[56,100]=0.475,X[57,100]=0.455,X[58,100]=0.416,X[59,100]=0.424,X[60,100]=0.314,X[61,100]=0.173,X[62,100]=0.376,X[63,100]=0.694,X[64,100]=0.533,X[65,100]=0.345,X[66,100]=0.251,X[67,100]=0.255,X[68,100]=0.565,X[69,100]=0.894,X[70,100]=0.722,X[71,100]=0.463,X[72,100]=0.459,X[73,100]=0.478,X[74,100]=0.424,X[75,100]=0.353,X[76,100]=0.329,X[77,100]=0.384,X[78,100]=0.420,X[79,100]=0.439,X[80,100]=0.482,X[81,100]=0.420,X[82,100]=0.361,X[83,100]=0.447,X[84,100]=0.502,X[85,100]=0.518,X[86,100]=0.427,X[87,100]=0.404,X[88,100]=0.463,X[89,100]=0.514,X[90,100]=0.529,X[91,100]=0.596,X[92,100]=0.545,X[93,100]=0.467,X[94,100]=0.455,X[95,100]=0.482,X[96,100]=0.486,X[97,100]=0.620,X[98,100]=0.827,X[99,100]=0.686,X[100,100]=0.482 init: float res = 0.0 float lowtrap=abs(round(real(@itrap)*#maxiter)) float hightrap=abs(round(imag(@itrap)*#maxiter)) IF lowtrap>hightrap res=lowtrap lowtrap=hightrap hightrap=res ENDIF float iterexp = 0 float scale = @colors*#pi/128 complex zold = (0,0) complex r = 1 complex r2 = (0,1) ^ 0.411111111111 float sum = 0.0 float freq = 1.0 float rotx = #x float roty = #y int irotx int iroty int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) loop: complex z1 = #z*(1-@weight) + p*@weight IF (@converge > 0) iterexp = iterexp + exp(-cabs(z1)) ELSE iterexp = iterexp + exp(-1/(cabs(zold - z1))) ENDIF zold = #z final: rotx = rotx/#width roty = roty/#height float xx = rotx rotx = #width+0.5*#width+(rotx-0.5)*cos(@angle*#pi/180)*#width - (roty-0.5)*sin(@angle*#pi/180)*#height roty = #height+0.5*#height+(roty-0.5)*cos(@angle*#pi/180)*#height + (xx-0.5)*sin(@angle*#pi/180)*#width irotx = abs(round(rotx)) iroty = abs(round(roty)) float smooth = iterexp*scale ez = cos(smooth)+flip(sin(smooth)) float angle = atan2(ez) IF (angle < 0) angle = angle + #pi * 2 ENDIF IF (@trap == true) IF (#numiter>=lowtrap)&&(#numiter<=hightrap) ; Is pixel in trap? #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ELSE #solid = true ENDIF ELSE #index = angle*(@palrange/(#pi*512)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+ @wate*\ X[1+(round((@hite*smooth+1)*(sum*@fbms+1)*irotx/@scale) % 100),\ 1+(round((@hite*smooth+1)*(sum*@fbms+1)*iroty/@scale) % 100)]) ENDIF if @solidb && cabs(#z) == 0 #solid = true endif default: title = "Exp Flower2a Texture" param version caption = "Formula Version" default = 1.0 hint = "You should never see this parameter; it's used internally to track \ which version of the formula was used to create your image, so that \ if a bug is found which breaks backwards-compatibility, the formula \ can adapt transparently." visible = false endparam bool param solidb caption = "Solid background" default = false endparam param colors caption = "Color Spread" default = 2.0 hint = "2.0 approximates the iteration count. \ Use 10.0 for convergent fractals." endparam param trap caption = "Use Iteration Trap" default = false endparam param itrap caption="Trap Limits" default=(0.0,1.0) hint="Between 0.0 and 1.0" endparam param palrange caption = "Palette Range" default = 256.0 hint = "256 means use the whole palette." endparam param scale caption = "texture scale" default = 1.0 endparam param wate caption = "texture weight" default = 0.05 endparam param hite caption = "texture warp" default = 0.01 endparam param fbms caption = "texture fBm Weight" default = 0.01 endparam param angle caption = "texture rotation" default = 0.0 endparam param converge caption = "Fractal Type" default = 1 enum = "Convergent" "Divergent" hint = "Mandelbrot is Divergent, Newton is Convergent." endparam param weight caption = "fBm Weight" default = 0.5 min = 0.0 max = 1.0 endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" endparam param fbm caption = "fBm Transfer Weight" default = 1.0 endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." endparam param fbmf caption = "fBm Final Weight" default = 10.0 endparam } Polartraps_Enhanced {; Ron Barnett, March 2002 ; added some texture options inspired by work of Dennis Magar ; June 2006: added dual traps based upon code by Damien Jones, and additional ; trap options to be in more conformance to SimpleTraps ; iteration options expanded to include 'iterations to skip' and ; 'pattern repeat'. The last option determines how many times the trap/skip ; pattern is repeated ; Toby's Morph and Texture parameters added, more merge options added, ; more polar functions added, trap and distance modulator paramters added ; Some of the textures Toby used were originally developed by Michèle ; Dessureault (popgnarl and decimal). ; September 2006 init: float pd = 0 complex tz = 0 complex z1 = 0 float texture_dec = 0 float texture_gna = 0 float texture_tr = 0 float texture = 0 float d = 0 float distance = 0 float distances[2] complex mf_p[2] float oldd = 0 complex oldf_p = 0 complex i = (0,1) ; convenient variable for imaginary number float pa[2] pa[0] = @aA pa[1] = @aB float pb[2] pb[0] = @bA pb[1] = @bB complex rot[2] rot[0] = i^(@angA/90) rot[1] = i^(@angB/90) complex skew[2] skew[0] = i^(@skewA/90) skew[1] = i^(@skewB/90) complex startoffset[2] startoffset[0] = @startA startoffset[1] = @startB complex trapoffset[2] trapoffset[0] = @offsetA trapoffset[1] = @offsetB int types[2] types[0] = @typeA types[1] = @typeB bool move[2] move[0] = @moveA move[1] = @moveB complex moveamt[2] moveamt[0] = @moveamtA moveamt[1] = @moveamtB float astep[2] astep[0] = @aAstep astep[1] = @aBstep float bstep[2] bstep[0] = @bAstep bstep[1] = @bBstep complex rotstep[2] rotstep[0] = i^(@rotAstep/90) rotstep[1] = i^(@rotBstep/90) complex skewstep[2] skewstep[0] = i^(@skewAstep/90) skewstep[1] = i^(@skewBstep/90) complex startstep[2] startstep[0] = @startAstep startstep[1] = @startBstep complex trapstep[2] trapstep[0] = @trapAstep trapstep[1] = @trapBstep float min_dist = 1e+318 if @trap_mode == 5 || @trap_mode == 6 || @trap_mode == 7 || @trap_mode == 8 \ || @trap_mode == 9 min_dist = 0 endif bool trapped = false float rr = 0 float theta = 0 float x = 0 float y = 0 complex r = 1 complex r2 = i ^ 0.411111111111 complex w = 0 complex ww = 0 float t = 0 float sum = 0.0 float freq = 1.0 float exptrap_p = 0 float exptrap_z = 1 complex f_p = 0 float distsum = 0 float distave = 0 complex trap_z = 0 complex trap_p = 0 int trap_iter = 0 int max_iter = 0 int iter = 0 bool msk = false bool trap = false bool rmask = false if @settrap == 1 msk = true trap = true elseif @settrap == 2 rmask = true trap = true endif if @version == "0" trap = @trap msk = @mask rmask = @rmask IF (@mask == true) && (@rmask == true) msk = false ENDIF endif float fx = 0 float fy = 0 float trapangle = 0 int skip = 0 int patnum = 0 if @version == "0" skip = @skip if @no_of_iters == 0 max_iter = #maxiter else max_iter = skip + @no_of_iters endif else if iter == 0 if @alliter max_iter = #maxiter skip = 0 else skip = @skip if @no_of_iters != 0 max_iter = skip + @no_of_iters else max_iter = #maxiter endif endif endif endif int ii = 7 complex p = #pixel * @nscale * r + @noffset WHILE (ii > 0) ; determine integer coordinate for corners of square ; surrounding p float bx0 = floor(real(p)) % 256 float by0 = floor(imag(p)) % 256 IF (bx0 < 0) bx0 = bx0 + 256 ENDIF IF (by0 < 0) by0 = by0 + 256 ENDIF float bx1 = (bx0 + 1) % 256 float by1 = (by0 + 1) % 256 float rx0 = real(p) - floor(real(p)) float ry0 = imag(p) - floor(imag(p)) float rx1 = rx0 - 1 float ry1 = ry0 - 1 ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float b00 = (bx0^2 % 65536 + by0)^2 % 65536 float b10 = (bx1^2 % 65536 + by0)^2 % 65536 float b01 = (bx0^2 % 65536 + by1)^2 % 65536 float b11 = (bx1^2 % 65536 + by1)^2 % 65536 ; produce a "random" vector for each corner float g_b00_0 = (b00)^2*0.25 % 512 - 256 float g_b10_0 = (b10)^2*0.25 % 512 - 256 float g_b01_0 = (b01)^2*0.25 % 512 - 256 float g_b11_0 = (b11)^2*0.25 % 512 - 256 float g_b00_1 = (b00+1)^2*0.25 % 512 - 256 float g_b10_1 = (b10+1)^2*0.25 % 512 - 256 float g_b01_1 = (b01+1)^2*0.25 % 512 - 256 float g_b11_1 = (b11+1)^2*0.25 % 512 - 256 ; normalize each vector float d = 0.0; d = 1 / sqrt(sqr(g_b00_0) + sqr(g_b00_1)) g_b00_0 = g_b00_0 * d g_b00_1 = g_b00_1 * d d = 1 / sqrt(sqr(g_b10_0) + sqr(g_b10_1)) g_b10_0 = g_b10_0 * d g_b10_1 = g_b10_1 * d d = 1 / sqrt(sqr(g_b01_0) + sqr(g_b01_1)) g_b01_0 = g_b01_0 * d g_b01_1 = g_b01_1 * d d = 1 / sqrt(sqr(g_b11_0) + sqr(g_b11_1)) g_b11_0 = g_b11_0 * d g_b11_1 = g_b11_1 * d ; produce colors for each corner float u1 = rx0 * g_b00_0 + ry0 * g_b00_1 float v1 = rx1 * g_b10_0 + ry0 * g_b10_1 float u2 = rx0 * g_b01_0 + ry1 * g_b01_1 float v2 = rx1 * g_b11_0 + ry1 * g_b11_1 ; interpolate between corners using ; bilinear filtering float sx = sqr(rx0) * (3 - rx0*2) float sy = sqr(ry0) * (3 - ry0*2) float a = u1 + sx*(v1-u1) float b = u2 + sx*(v2-u2) sum = sum + (a + sy*(b-a))*freq freq = freq / 2 p = p * r2 * 2 ii = ii - 1 ENDWHILE IF @transfer == 0 float xx = real(#pixel)+@fbm*(sum+1) float yy = imag(#pixel)+@fbm*(sum+1) ELSEIF @transfer == 1 float xx = real(#pixel)*(1+@fbm*(sum+1)) float yy = imag(#pixel)*(1+@fbm*(sum+1)) ELSEIF @transfer == 2 float xx = real(#pixel)/(1+@fbm*(sum+1)) float yy = imag(#pixel)/(1+@fbm*(sum+1)) ELSEIF @transfer == 3 float xx = real(#pixel)+20*log(@fbm*(sum+1)) float yy = imag(#pixel)+20*log(@fbm*(sum+1)) ELSEIF @transfer == 4 float xx = real(#pixel)+exp(@fbm*(sum+1)) float yy = imag(#pixel)+exp(@fbm*(sum+1)) ELSEIF @transfer == 5 float xx = real(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) float yy = imag(#pixel)+(@fbm*(sum+1))*(@fbm*(sum+1)) ELSEIF @transfer == 6 float xx = real(#pixel)+sqrt(@fbm*(sum+1)) float yy = imag(#pixel)+sqrt(@fbm*(sum+1)) ELSEIF @transfer == 7 float xx = real(#pixel)+sin(@fbm*(sum+1)) float yy = imag(#pixel)+sin(@fbm*(sum+1)) ELSEIF @transfer == 8 float xx = real(#pixel)+asin(@fbm*(sum+1)) float yy = imag(#pixel)+asin(@fbm*(sum+1)) ELSEIF @transfer == 9 float xx = real(#pixel)+tan(@fbm*(sum+1)) float yy = imag(#pixel)+tan(@fbm*(sum+1)) ELSEIF @transfer == 10 float xx = real(#pixel)+atan(@fbm*(sum+1)) float yy = imag(#pixel)+atan(@fbm*(sum+1)) ELSE float xx = real(#pixel-#center)+(@fbm*(sum+1)) float yy = imag(#pixel-#center)+(@fbm*(sum+1)) ENDIF p = xx + flip(yy) ; Toby's Morph code complex z2m = (0,0) complex z3 = (0,0) complex z4 = (0,0) complex z1tp = (0,0) complex z1tq = (0,0) complex qw = (0,0) complex er = (0,0) complex ty = (0,0) complex nuvar = (0,0) loop: ; Toby's Morph code complex z1t = #z if @showm if @tha2 == false qw = @nufunc(z1t-@tw)^@exp3 er = @nufunc2((z1t-@tw2)^@exp1) ty = @nufunc3((z1t-@tw3)^@exp2) if @change == "1" z1t = @nufunc(z1t-@tw)^@exp1 elseif @change == "2" z1t = qw+er elseif @change == "3" z1t = qw-er elseif @change == "4" z1t = qw*er elseif @change == "5" z1t = qw/er elseif @change == "6" z1t = qw^er elseif @change == "7" if @op == "+" z1t = qw+(er+ty) elseif @op == "-" z1t = qw+(er-ty) elseif @op == "*" z1t = qw+(er*ty) elseif @op == "/" z1t = qw+(er/ty) elseif @op == "^" z1t = qw+(er^ty) endif elseif @change == "8" if @op == "+" z1t = qw-(er+ty) elseif @op == "-" z1t = qw-(er-ty) elseif @op == "*" z1t = qw-(er*ty) elseif @op == "/" z1t = qw-(er/ty) elseif @op == "^" z1t = qw-(er^ty) endif elseif @change == "9" if @op == "+" z1t = qw*(er+ty) elseif @op == "-" z1t = qw*(er-ty) elseif @op == "*" z1t = qw*(er*ty) elseif @op == "/" z1t = qw*(er/ty) elseif @op == "^" z1t = qw*(er^ty) endif elseif @change == "10" if @op == "+" z1t = qw/(er+ty) elseif @op == "-" z1t = qw/(er-ty) elseif @op == "*" z1t = qw/(er*ty) elseif @op == "/" z1t = qw/(er/ty) elseif @op == "^" z1t = qw/(er^ty) endif elseif @change == "11" if @op == "+" z1t = qw^(er+ty) elseif @op == "-" z1t = qw^(er-ty) elseif @op == "*" z1t = qw^(er*ty) elseif @op == "/" z1t = qw^(er/ty) elseif @op == "^" z1t = qw^(er^ty) endif endif else if @zchange1 == "|z|" z2m = |z1t| elseif @zchange1 == "atan2(z)" z2m = atan2(z1t) elseif @zchange1 == "real(z)" z2m = real(z1t) elseif @zchange1 == "imag(z)" z2m = imag(z1t) endif if @zchange2 == "|z|" z3 = |z1t| elseif @zchange2 == "atan2(z)" z3 = atan2(z1t) elseif @zchange2 == "real(z)" z3 = real(z1t) elseif @zchange2 == "imag(z)" z3 = imag(z1t) endif if @zchange3 == "|z|" z4 = |z1t| elseif @zchange3 == "atan2(z)" z4 = atan2(z1t) elseif @zchange3 == "real(z)" z4 = real(z1t) elseif @zchange3 == "imag(z)" z4 = imag(z1t) endif aa = @nufunc((z1t-@tw)+@nufunc4(z2m-@tw4)^@exp4) bb = @nufunc((z1t-@tw)-@nufunc4(z2m-@tw4)^@exp4) cc = @nufunc4((z2m-@tw4)^@exp4-@nufunc(z1t-@tw)) ff = real((z3-@tw5)^@exp5) dd = @nufunc5(ff) jj = (z4-@tw6) kk = (z1t-@tw2) oo = (z1t-@tw3) gg = @nufunc2(kk) hh = @nufunc6(jj)^@exp6 ppp = @nufunc3(oo) if @mmode == "z+|z|" nuvar = aa elseif @mmode == "z-|z|" nuvar = bb elseif @mmode == "|z|-z" nuvar = cc endif if @change == "1" z1t = nuvar^@exp1 elseif @change == "2" if @mmode2 == "z+|z|" z1t = nuvar^@exp3+@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1t = nuvar^@exp3+@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1t = nuvar^@exp3+@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1t = nuvar^@exp3+@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1t = nuvar^@exp3+@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1t = nuvar^@exp3+@nufunc5(ff/gg)^@exp1 endif elseif @change == "3" if @mmode2 == "z+|z|" z1t = nuvar^@exp3-@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1t = nuvar^@exp3-@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1t = nuvar^@exp3-@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1t = nuvar^@exp3-@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1t = nuvar^@exp3-@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1t = nuvar^@exp3-@nufunc5(ff/gg)^@exp1 endif elseif @change == "4" if @mmode2 == "z+|z|" z1t = nuvar^@exp3*@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1t = nuvar^@exp3*@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1t = nuvar^@exp3*@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1t = nuvar^@exp3*@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1t = nuvar^@exp3*@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1t = nuvar^@exp3*@nufunc5(ff/gg)^@exp1 endif elseif @change == "5" if @mmode2 == "z+|z|" z1t = nuvar^@exp3/@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1t = nuvar^@exp3/@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1t = nuvar^@exp3/@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1t = nuvar^@exp3/@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1t = nuvar^@exp3/@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1t = nuvar^@exp3/@nufunc5(ff/gg)^@exp1 endif elseif @change == "6" if @mmode2 == "z+|z|" z1t = nuvar^@exp3^@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1t = nuvar^@exp3^@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1t = nuvar^@exp3^@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1t = nuvar^@exp3^@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1t = nuvar^@exp3^@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1t = nuvar^@exp3^@nufunc5(ff/gg)^@exp1 endif elseif @change == "7" if @mmode3 == "z+|z|" z1tq = @nufunc3(oo+hh)^@exp2 elseif @mmode3 == "z-|z|" z1tq = @nufunc3(oo-hh)^@exp2 elseif @mmode3 == "|z|-z" z1tq = @nufunc6(jj^@exp6-ppp)^@exp2 elseif @mmode3 == "z*|z|" z1tq = @nufunc3(oo*hh)^@exp2 elseif @mmode3 == "z/|z|" z1tq = @nufunc3(oo/hh)^@exp2 elseif @mmode3 == "|z|/z" z1tq = @nufunc6(jj^@exp6/ppp)^@exp2 endif if @mmode2 == "z+|z|" z1tp = nuvar^@exp3+@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1tp = nuvar^@exp3+@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1tp = nuvar^@exp3+@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1tp = nuvar^@exp3+@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1tp = nuvar^@exp3+@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1tp = nuvar^@exp3+@nufunc5(ff/gg)^@exp1 endif if @op == "+" z1t = z1tq + z1tp elseif @op == "-" z1t = z1tq - z1tp elseif @op == "*" z1t = z1tq * z1tp elseif @op == "/" z1t = z1tq / z1tp elseif @op == "^" z1t = z1tq ^ z1tp endif elseif @change == "8" if @mmode3 == "z+|z|" z1tq = @nufunc3(oo+hh)^@exp2 elseif @mmode3 == "z-|z|" z1tq = @nufunc3(oo-hh)^@exp2 elseif @mmode3 == "|z|-z" z1tq = @nufunc6(jj^@exp6-ppp)^@exp2 elseif @mmode3 == "z*|z|" z1tq = @nufunc3(oo*hh)^@exp2 elseif @mmode3 == "z/|z|" z1tq = @nufunc3(oo/hh)^@exp2 elseif @mmode3 == "|z|/z" z1tq = @nufunc6(jj^@exp6/ppp)^@exp2 endif if @mmode2 == "z+|z|" z1tp = nuvar^@exp3-@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1tp = nuvar^@exp3-@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1tp = nuvar^@exp3-@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1tp = nuvar^@exp3-@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1tp = nuvar^@exp3-@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1tp = nuvar^@exp3-@nufunc5(ff/gg)^@exp1 endif if @op == "+" z1t = z1tq + z1tp elseif @op == "-" z1t = z1tq - z1tp elseif @op == "*" z1t = z1tq * z1tp elseif @op == "/" z1t = z1tq / z1tp elseif @op == "^" z1t = z1tq ^ z1tp endif elseif @change == "9" if @mmode3 == "z+|z|" z1tq = @nufunc3(oo+hh)^@exp2 elseif @mmode3 == "z-|z|" z1tq = @nufunc3(oo-hh)^@exp2 elseif @mmode3 == "|z|-z" z1tq = @nufunc6(jj^@exp6-ppp)^@exp2 elseif @mmode3 == "z*|z|" z1tq = @nufunc3(oo*hh)^@exp2 elseif @mmode3 == "z/|z|" z1tq = @nufunc3(oo/hh)^@exp2 elseif @mmode3 == "|z|/z" z1tq = @nufunc6(jj^@exp6/ppp)^@exp2 endif if @mmode2 == "z+|z|" z1tp = nuvar^@exp3*@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1tp = nuvar^@exp3*@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1tp = nuvar^@exp3*@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1tp = nuvar^@exp3*@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1tp = nuvar^@exp3*@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1tp = nuvar^@exp3*@nufunc5(ff/gg)^@exp1 endif if @op == "+" z1t = z1tq + z1tp elseif @op == "-" z1t = z1tq - z1tp elseif @op == "*" z1t = z1tq * z1tp elseif @op == "/" z1t = z1tq / z1tp elseif @op == "^" z1t = z1tq ^ z1tp endif elseif @change == "10" if @mmode3 == "z+|z|" z1tq = @nufunc3(oo+hh)^@exp2 elseif @mmode3 == "z-|z|" z1tq = @nufunc3(oo-hh)^@exp2 elseif @mmode3 == "|z|-z" z1tq = @nufunc6(jj^@exp6-ppp)^@exp2 elseif @mmode3 == "z*|z|" z1tq = @nufunc3(oo*hh)^@exp2 elseif @mmode3 == "z/|z|" z1tq = @nufunc3(oo/hh)^@exp2 elseif @mmode3 == "|z|/z" z1tq = @nufunc6(jj^@exp6/ppp)^@exp2 endif if @mmode2 == "z+|z|" z1tp = nuvar^@exp3/@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1tp = nuvar^@exp3/@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1tp = nuvar^@exp3/@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1tp = nuvar^@exp3/@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1tp = nuvar^@exp3/@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1tp = nuvar^@exp3/@nufunc5(ff/gg)^@exp1 endif if @op == "+" z1t = z1tq + z1tp elseif @op == "-" z1t = z1tq - z1tp elseif @op == "*" z1t = z1tq * z1tp elseif @op == "/" z1t = z1tq / z1tp elseif @op == "^" z1t = z1tq ^ z1tp endif elseif @change == "11" if @mmode3 == "z+|z|" z1tq = @nufunc3(oo+hh)^@exp2 elseif @mmode3 == "z-|z|" z1tq = @nufunc3(oo-hh)^@exp2 elseif @mmode3 == "|z|-z" z1tq = @nufunc6(jj^@exp6-ppp)^@exp2 elseif @mmode3 == "z*|z|" z1tq = @nufunc3(oo*hh)^@exp2 elseif @mmode3 == "z/|z|" z1tq = @nufunc3(oo/hh)^@exp2 elseif @mmode3 == "|z|/z" z1tq = @nufunc6(jj^@exp6/ppp)^@exp2 endif if @mmode2 == "z+|z|" z1tp = nuvar^@exp3^@nufunc2(kk+dd)^@exp1 elseif @mmode2 == "z-|z|" z1tp = nuvar^@exp3^@nufunc2(kk-dd)^@exp1 elseif @mmode2 == "|z|-z" z1tp = nuvar^@exp3^@nufunc5(ff-gg)^@exp1 elseif @mmode2 == "z*|z|" z1tp = nuvar^@exp3^@nufunc2(kk*dd)^@exp1 elseif @mmode2 == "z/|z|" z1tp = nuvar^@exp3^@nufunc2(kk/dd)^@exp1 elseif @mmode2 == "|z|/z" z1tp = nuvar^@exp3^@nufunc5(ff/gg)^@exp1 endif if @op == "+" z1t = z1tq + z1tp elseif @op == "-" z1t = z1tq - z1tp elseif @op == "*" z1t = z1tq * z1tp elseif @op == "/" z1t = z1tq / z1tp elseif @op == "^" z1t = z1tq ^ z1tp endif endif endif endif int j = 0 exptrap_z = exptrap_z + exp(-cabs(#z)) while j <= @trapnum if move[j]&&iter == 0 trapoffset[j] = trapoffset[j] + #pixel*moveamt[j] endif ; increment parameters pa[j] = pa[j]+astep[j] pb[j] = pb[j]+bstep[j] rot[j] = rot[j]*rotstep[j] skew[j] = skew[j]*skewstep[j] startoffset[j] = startoffset[j] + startstep[j] trapoffset[j] = trapoffset[j] + trapstep[j] ; complex z1 = #z*(1-@weight) + p*@weight z1 = z1t*(1-@weight) + p*@weight if @version == "0" trapangle = @ang*180/(2*#pi); fx = real(z1)*cos(trapangle) - imag(z1)*sin(trapangle) fy = imag(z1)*cos(trapangle) + real(z1)*sin(trapangle) z1 = fx + flip(fy) else z1 = z1*rot[j] endif z1 = real(z1*skew[j]) + flip(imag(z1)) x = real(z1) + real(trapoffset[j]) y = imag(z1)*@mod + imag(trapoffset[j]) ; rr = cabs(z1) theta = atan2(y/x) IF types[j] == 16 ; lemniscate rr = pa[j]*sqrt(cos(2*theta)) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*10*abs((x-rr*cos(theta)) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEIF types[j] == 2 ; cardiod rr = pa[j]*(1-cos(theta)) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*5*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEIF types[j] == 6 ; conchoid if @version == "1.5" if cos(theta) == 0 rr = 1 else rr = (pa[j] + pb[j]*cos(theta))/cos(theta) endif else rr = (pa[j] + pb[j]*cos(theta))/cos(theta) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEIF types[j] == 8 ; cycloid rr = cabs(z1) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*(theta-sin(theta))+y-rr*(1-cos(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*(theta-sin(theta)))+abs(y-rr*(1-cos(theta)))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEIF types[j] == 0 ; archimedes rr = pa[j]*theta f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEIF types[j] == 19 ; log spiral rr = exp(pa[j]*theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 24 ; rose rr = pa[j]*cos(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 1 ; bifolium rr = 2e30*pa[j]*sin(theta)*sin(theta)*cos(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 3 ; Cayley's sextic rr = pa[j]*cos(theta)^3 f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 5 ; cissoid of Dicoles rr = 5e31*pa[j]*sin(theta)*tan(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 9 ; cycloid of Seva rr = pa[j]*(1+2*cos(2*theta)) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 11 ; eight curve rr = pa[j]*cos(theta)^(-2)*cos(2*theta)^0.5 f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 12 ; folium of Descartes if cos(theta)*(1+tan(theta)^3) == 0 rr = 1 else rr = 1e15*pa[j]*tan(theta)/(cos(theta)*(1+tan(theta)^3)) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 15 ; kamyple of Eudoxus if cos(theta) == 0 rr = 1 else rr = pa[j]/cos(theta)^2 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 17 ; limacon of Pascal rr = 0.05*pb[j] + pa[j]*cos(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 18 ; lituus if theta == 0 rr = 1e10 else rr = pa[j]/theta^0.5 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 20 ; maltese cross if (cos(theta)*sin(theta)*(cos(theta)^2-sin(theta)^2)) == 0 rr = 1e10 else rr = 1e-8*pa[j]/(cos(theta)*sin(theta)*(cos(theta)^2-sin(theta)^2))^0.5 endif if rr > 1 rr = 1 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 4 ; circle rr = pa[j]*sin(theta)^2 + 0.2*pb[j]*cos(theta)^2 f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 7 ; Cotes' spiral if cosh(pb[j]*theta) == 0 rr = 1 else rr = pa[j]/cosh(pb[j]*theta) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 10 ; dipole curve rr = pa[j]*(cos(theta))^0.5 f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 13 ; hyperbola if cos(2*theta) == 0 rr = 1 else rr = pa[j]*(1/cos(2*theta))^0.5 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 14 ; kappa curve rr = 1e16*pa[j]*tan(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 21 ; ophiuride rr = (1e30*pb[j]*sin(theta)-1e16*pa[j]*cos(theta))*tan(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 22 ; quadratrix of Hippias if sin(theta) == 0 rr = 1 else rr = 1e-16*pa[j]*theta/sin(theta) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 23 ; quadrifolium rr = 1e16*pa[j]*sin(2*theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 25 ; scarabaeus rr = 0.5*pb[j]*cos(2*theta)-pa[j]*cos(theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 26 ; semicubical parabola if cos(theta) == 0 rr = 1 else rr = 1e32*pa[j]*tan(theta)^2/cos(theta) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 27 ; swastika curve if (sin(theta)^4-cos(theta)^4) == 0 rr = 1 else rr = 1e8*pa[j]*(sin(theta)*cos(theta)/(sin(theta)^4-cos(theta)^4))^0.5 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 28 ; trifolium rr = -pa[j]*cos(3*theta) f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 29 ; Tschirnhausen cubic if cos(theta/3) == 0 rr = 1 else rr = pa[j]/cos(theta/3)^3 endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ELSEif types[j] == 30 ; trisectrix of Maclaurin ; Trisectrix of Maclaurinrr = 0.5*pa[j]*sin(3*theta)/sin(2*theta) if sin(2*theta) == 0 rr = 1 else rr = pa[j]*sin(3*theta)/sin(2*theta) endif f_p = x-rr*cos(theta) + flip(y-rr*sin(theta))+startoffset[j] IF @color_mode == 10 || @color_mode == 11 exptrap_p = exptrap_p + exp(-cabs(f_p)) ENDIF IF @disttype == 0 d = @dmod*abs(x-rr*cos(theta) + y-rr*sin(theta)) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ELSE d = @dmod*(abs(x-rr*cos(theta)) + abs(y-rr*sin(theta))) IF @trapvar == 1 d = abs(d*d - d) ELSEIF @trapvar == 2 d = abs(d*d*d - d) ELSEIF @trapvar == 3 d = abs(d*d*d -d*d +d) ELSEIF @trapvar == 4 d = abs(d - |f_p|) ELSEIF @trapvar == 5 d = abs(d - cabs(fn3(f_p))) ELSEIF @trapvar == 6 if @version == "0" d = 25*cabs(z1-f_p)/cabs(d/10-f_p) else d = cabs(25*(z1-f_p)*(d/10-f_p)) endif ELSEIF @trapvar == 7 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-cabs(z1-f_p)) else d = cabs(fn3(f_p)*(d/10-z1+f_p)) endif ELSEIF @trapvar == 8 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x+y)) else d = cabs(fn3(f_p)*(d/10-(x+y))) endif ELSEIF @trapvar == 9 if @version == "0" d = cabs(fn3(f_p))/abs(d/10-(x*y)) else d = cabs(fn3(f_p)*(d/10-(x*y))) endif ENDIF distsum = d + distsum distave = distsum/exptrap_z ENDIF ENDIF distances[j] = d mf_p[j] = f_p oldd = d oldf_p = f_p if (@trapnum == 1) if (@trapAweight == "A") ; elseif (@trapAweight == "-A") distances[0] = -distances[0] mf_p[0] = -mf_p[0] elseif (@trapAweight == "|A|") distances[0] = abs(distances[0]) mf_p[0] = abs(mf_p[0]) elseif (@trapAweight == "A*A") distances[0] = sqr(distances[0]) mf_p[0] = sqr(mf_p[0]) elseif (@trapAweight == "-A*A") distances[0] = -sqr(distances[0]) mf_p[0] = -sqr(mf_p[0]) elseif (@trapAweight == "A*A*A") distances[0] = sqr(distances[0])*distances[0] mf_p[0] = sqr(mf_p[0])*mf_p[0] elseif (@trapAweight == "-A*A*A") distances[0] = -sqr(distances[0])*distances[0] mf_p[0] = -sqr(mf_p[0])*mf_p[0] elseif (@trapAweight == "|A*A*A|") distances[0] = abs(sqr(distances[0])*distances[0]) mf_p[0] = abs(sqr(mf_p[0])*mf_p[0]) elseif (@trapAweight == "log(A)") distances[0] = log(distances[0]) mf_p[0] = log(mf_p[0]) elseif (@trapAweight == "exp(A)") distances[0] = exp(distances[0]) mf_p[0] = exp(mf_p[0]) elseif (@trapAweight == "sqrt(A)") distances[0] = sqrt(distances[0]) mf_p[0] = sqrt(mf_p[0]) elseif (@trapAweight == "A^(1/3)") distances[0] = (distances[0])^(1/3) mf_p[0] = (mf_p[0])^(1/3) endif if (@trapBweight == "B") ; elseif (@trapBweight == "-B") distances[1] = -distances[1] mf_p[1] = -mf_p[1] elseif (@trapBweight == "|B|") distances[1] = abs(distances[1]) mf_p[1] = abs(mf_p[1]) elseif (@trapBweight == "B*B") distances[1] = sqr(distances[1]) mf_p[1] = sqr(mf_p[1]) elseif (@trapBweight == "-B*B") distances[1] = -sqr(distances[1]) mf_p[1] = -sqr(mf_p[1]) elseif (@trapBweight == "B*B*B") distances[1] = sqr(distances[1])*distances[1] mf_p[1] = sqr(mf_p[1])*mf_p[1] elseif (@trapBweight == "-B*B*B") distances[1] = -sqr(distances[1])*distances[1] mf_p[1] = -sqr(mf_p[1])*mf_p[1] elseif (@trapBweight == "|B*B*B|") distances[1] = abs(sqr(distances[1])*distances[1]) mf_p[1] = abs(sqr(mf_p[1])*mf_p[1]) elseif (@trapBweight == "log(B)") distances[1] = log(distances[1]) mf_p[1] = log(mf_p[1]) elseif (@trapBweight == "exp(B)") distances[1] = exp(distances[1]) mf_p[1] = exp(mf_p[1]) elseif (@trapBweight == "sqrt(B)") distances[1] = sqrt(distances[1]) mf_p[1] = sqrt(mf_p[1]) elseif (@trapBweight == "B^(1/3)") distances[1] = (distances[1])^(1/3) mf_p[1] = (mf_p[1])^(1/3) endif endif if (@trapnum == 0) d = distances[0] f_p = mf_p[0] elseif (@trapnum == 1) if (@trapmerge == "min(A,B)") if (distances[0] < distances[1]) d = distances[0] else d = distances[1] endif if (cabs(mf_p[0]) < cabs(mf_p[1])) f_p = mf_p[0] else f_p = mf_p[1] endif elseif (@trapmerge == "max(A,B)") if (distances[0] > distances[1]) d = distances[0] else d = distances[1] endif if (cabs(mf_p[0]) > cabs(mf_p[1])) f_p = mf_p[0] else f_p = mf_p[1] endif elseif (@trapmerge == "A+B") d = distances[0] + distances[1] f_p = mf_p[0] + mf_p[1] elseif (@trapmerge == "A*B") d = distances[0] * distances[1] f_p = mf_p[0] * mf_p[1] elseif (@trapmerge == "A/B") d = distances[0] / distances[1] f_p = mf_p[0] / mf_p[1] elseif (@trapmerge == "B/A") d = distances[1] / distances[0] f_p = mf_p[1] / mf_p[0] elseif (@trapmerge == "1/(A*B)") d = 1 / (distances[0] * distances[1]) f_p = 1 / (mf_p[0] * mf_p[1]) elseif (@trapmerge == "A^B") d = distances[0] ^ distances[1] f_p = mf_p[0] ^ mf_p[1] elseif (@trapmerge == "B^A") d = distances[1] ^ distances[0] f_p = mf_p[1] ^ mf_p[0] elseif (@trapmerge == "A") d = distances[0] f_p = mf_p[0] elseif (@trapmerge == "B") d = distances[1] f_p = mf_p[1] elseif (@trapmerge == "|A-B|") d = abs(distances[0] - distances[1]) elseif (@trapmerge == "Func(A) op Func(B)") if @mop == "+" d = real(@mfuncA(distances[0])) + real(@mfuncB(distances[1])) f_p = @mfuncA(mf_p[0]) + @mfuncB(mf_p[1]) elseif @mop == "-" d = real(@mfuncA(distances[0])) - real(@mfuncB(distances[1])) f_p = @mfuncA(mf_p[0]) - @mfuncB(mf_p[1]) elseif @mop == "*" d = real(@mfuncA(distances[0])) * real(@mfuncB(distances[1])) f_p = @mfuncA(mf_p[0]) * @mfuncB(mf_p[1]) elseif @mop == "/" d = real(@mfuncA(distances[0])) / real(@mfuncB(distances[1])) f_p = @mfuncA(mf_p[0]) / @mfuncB(mf_p[1]) elseif @mop == "^" d = real(@mfuncA(distances[0])) ^ real(@mfuncB(distances[1])) f_p = @mfuncA(mf_p[0]) ^ @mfuncB(mf_p[1]) endif elseif (@trapmerge == "A AND B") if (distances[0] < @width && distances[1] < @width) d = distances[0] else d = @width endif elseif (@trapmerge == "B AND A") if (distances[1] < @width && distances[0] < @width) d = distances[1] else d = @width endif elseif (@trapmerge == "A OR B") if (distances[0] < @width) d = distances[0] elseif (distances[1] < @width) d = distances[1] else d = @width endif elseif (@trapmerge == "B OR A") if (distances[1] < @width) d = distances[1] elseif (distances[0] < @width) d = distances[0] else d = @width endif elseif (@trapmerge == "A NOT B") if (distances[0] < @width && distances[1] >= @width) d = distances[0] else d = @width endif elseif (@trapmerge == "B NOT A") if (distances[1] < @width && distances[0] >= @width) d = distances[1] else d = @width endif endif if (@trapmergeabs) d = abs(d) endif endif j = j + 1 endwhile if !@distmerge d = oldd endif if !@f_pmerge f_p = oldf_p endif IF @trap_mode == 0 IF (iter >= skip && iter < max_iter) \ && d < min_dist min_dist = d + @edge distance = d trap_iter = iter trap_z = #z trap_p = f_p ENDIF ELSEIF @trap_mode == 1 IF (iter >= skip && iter < max_iter) \ && !trapped && d < @width trapped = true distance = d trap_iter = iter trap_z = #z trap_p = f_p ENDIF ELSEIF @trap_mode == 2 IF (iter >= skip && iter < max_iter) \ && d < @width trapped = true distance = d trap_iter = iter trap_z = #z trap_p = f_p ENDIF ELSEIF @trap_mode == 3 d = cabs(f_p) IF (iter >= skip && iter < max_iter) \ && d < min_dist min_dist = d+@edge distance = abs(|#z| - |f_p|) trap_iter = iter trap_z = #z trap_p = f_p ENDIF endif if @version == "0" if @trap_mode == 4 if (iter >= skip && iter < max_iter) \ && distave < min_dist min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p endif endif else IF @trap_mode == 4 IF (iter >= skip && iter < max_iter) \ && d < @width trapped = true min_dist = distave distance = distave trap_iter = iter trap_z = #z trap_p = f_p ENDIF endif endif IF @trap_mode == 5 IF (iter >= skip && iter < max_iter) \ && d > min_dist && d < @width trapped = true min_dist = d distance = d trap_iter = iter trap_z = #z trap_p = f_p ENDIF ELSEIF @trap_mode == 6 || @trap_mode == 7 || @trap_mode == 8 \ || @trap_mode ==9 IF (iter >= skip && iter < max_iter) \ && d < @width trapped = true distance = distance + d trap_iter = iter trap_z = trap_z + #z trap_p = trap_p + f_p ENDIF ELSEIF @trap_mode == 10 || @trap_mode == 11 || @trap_mode == 12 \ || @trap_mode ==13 IF (iter >= skip && iter < max_iter) \ && !trapped && d < @width trapped = true distance = distance + d trap_iter = iter trap_z = trap_z + #z trap_p = trap_p + f_p ENDIF ENDIF iter = iter + 1 if @version == "1.4" || @version == "1.5" if (iter >= max_iter+@itergap)&&!@alliter && (patnum == 0 || patnum < @pattern) max_iter = max_iter + @itergap + @no_of_iters if @pattern != 0 patnum = patnum + 1 endif endif endif final: float zrzr = 0 float zizi = 0 float rzrz = 0 float iziz = 0 float r0r0 = 0 float i0i0 = 0 float r1r1 = 0 float i1i1 = 0 float azaz = 0 float bzbz = 0 float czcz = 0 float dzdz = 0 int iii = 0 float avav = 1 float xbxb = 1 float frfr = 0 float fifi = 0 float zaza = 0 float zzzz = 0 complex ptr = 0 if @version == "0" w = fn2(fn1((trap_z)*10^@pwr))*@ts ww = fn2(fn1((w - round(w)))) + @toffset else if @addfbm == true w = fn2(fn1((trap_z+@tfbm*(xx+flip(yy)))*10^@pwr))*@ts else w = fn2(fn1((trap_z)*10^@pwr))*@ts endif ww = fn2(fn1((w - @fn6(w)))) + @toffset endif t = cabs(ww)*@tc if @version == "0" t = (t - trunc(t))*@tweight else t = (t - round(t))*@tweight endif ;decimal texture if @dectxt > 0 && @advd if @ztyp2 == "#z" tz = ((#z-@txia2)*@txib2)^@txic2 elseif @ztyp2 == "Morph z" tz = ((f_p-@txia2)*@txib2)^@txic2 elseif @ztyp2 == "Trap z" tz = ((trap_p-@txia2)*@txib2)^@txic2 elseif @ztyp2 == "Trap #z" tz = ((trap_z-@txia2)*@txib2)^@txic2 elseif @ztyp2 == "Trap dist" tz = ((distance-@txia2)*@txib2)^@txic2 elseif @ztyp2 == "Raw dist" tz = ((d-@txia2)*@txib2)^@txic2 endif if @dec_init == 0 pd = real(@fntx5(@fntx4(tz))^@exad4) elseif @dec_init == 1 pd = real(@fntx4(real(tz))^@exad4+@fntx5(imag(tz))^@exad5) elseif @dec_init == 2 pd = real(@fntx4(real(tz))^@exad4-@fntx5(imag(tz))^@exad5) elseif @dec_init == 3 pd = real(@fntx4(real(tz))^@exad4*@fntx5(imag(tz))^@exad5) elseif @dec_init == 4 pd = real(@fntx4(imag(tz))^@exad4-@fntx5(real(tz))^@exad5) elseif @dec_init == 5 pd = real(@fntx5(@fntx4(x))^@exad4) elseif @dec_init == 6 pd = real(@fntx5(@fntx4(y))^@exad4) elseif @dec_init == 7 pd = real(@fntx4(x)^@exad4+@fntx5(y)^@exad5) elseif @dec_init == 8 pd = real(@fntx4(x)^@exad4-@fntx5(y)^@exad5) elseif @dec_init == 9 pd = real(@fntx5(y)^@exad4-@fntx4(x)^@exad5) elseif @dec_init == 10 pd = real(@fntx4(x)^@exad4*@fntx5(y)^@exad5) elseif @dec_init == 11 pd = real(@fntx4(x)^@exad4/@fntx5(y)^@exad5) elseif @dec_init == 12 pd = real(@fntx5(y)^@exad4/@fntx4(x)^@exad5) elseif @dec_init == 13 pd = real(@fntx4(x)^@exad4^@fntx5(y)^@exad5) elseif @dec_init == 14 pd = real(@fntx5(y)^@exad4^@fntx4(x)^@exad5) elseif @dec_init == 15 pd = real(@fntx4(x)^@exad4+@fntx5(tz)^@exad5) elseif @dec_init == 16 pd = real(@fntx4(x)^@exad4-@fntx5(tz)^@exad5) elseif @dec_init == 17 pd = real(@fntx5(tz)^@exad4-@fntx4(x)^@exad5) elseif @dec_init == 18 pd = real(@fntx4(x)^@exad4*@fntx5(tz)^@exad5) elseif @dec_init == 19 pd = real(@fntx4(x)^@exad4/@fntx5(tz)^@exad5) elseif @dec_init == 20 pd = real(@fntx5(tz)^@exad4/@fntx4(x)^@exad5) elseif @dec_init == 21 pd = real(@fntx4(y)^@exad4+@fntx5(tz)^@exad5) elseif @dec_init == 22 pd = real(@fntx4(y)^@exad4-@fntx5(tz)^@exad5) elseif @dec_init == 23 pd = real(@fntx5(tz)^@exad4-@fntx4(y)^@exad5) elseif @dec_init == 24 pd = real(@fntx4(y)^@exad4*@fntx5(tz)^@exad5) elseif @dec_init == 25 pd = real(@fntx4(y)^@exad4/@fntx5(tz)^@exad5) elseif @dec_init == 26 pd = real(@fntx5(tz)^@exad4/@fntx4(y)^@exad5) endif if @dec_type == 0 pd = pd-ceil(pd*@dec_scale)/@dec_scale elseif @dec_type == 1 pd = pd-floor(pd*@dec_scale)/@dec_scale elseif @dec_type == 2 pd = pd-trunc(pd*@dec_scale)/@dec_scale elseif @dec_type == 3 pd = pd-round(pd*@dec_scale)/@dec_scale elseif @dec_type == 4 pd = pd-real(@fndec(pd*@dec_scale))/@dec_scale elseif @dec_type == 5 pd = pd-round(pd*@dec_scale)/@dec_scale-ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 6 pd = pd-round(pd*@dec_scale)/@dec_scale*ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 7 pd = pd+round(pd*@dec_scale)/@dec_scale*ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 8 pd = pd-round(pd*@dec_scale)/@dec_scale-trunc(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 9 pd = pd-round(pd*@dec_scale)/@dec_scale*trunc(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 10 pd = pd+round(pd*@dec_scale)/@dec_scale*trunc(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 11 pd = pd-trunc(pd*@dec_scale)/@dec_scale-floor(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 12 pd = pd-trunc(pd*@dec_scale)/@dec_scale*floor(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 13 pd = pd+trunc(pd*@dec_scale)/@dec_scale*floor(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 14 pd = pd-trunc(pd*@dec_scale)/@dec_scale-ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 15 pd = pd-trunc(pd*@dec_scale)/@dec_scale*ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 16 pd = pd+trunc(pd*@dec_scale)/@dec_scale*ceil(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 17 pd = pd-ceil(pd*@dec_scale)/@dec_scale-floor(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 18 pd = pd-ceil(pd*@dec_scale)/@dec_scale*floor(pd*@dec_scale2)/@dec_scale2 elseif @dec_type == 19 pd = pd+ceil(pd*@dec_scale)/@dec_scale*floor(pd*@dec_scale)/@dec_scale2 endif if @dec_size != 0 pd = pd/@dec_size endif texture_dec = @dectxt*pd if @dec_limit !=0 texture_dec= texture_dec%@dec_limit endif if @dec_sgn == true texture_dec = abs(texture_dec) endif texture_dec = 10 * texture_dec * @decamt endif ; popgnarl texture if (@gnarl_amt != 0)&& @advpg if @ztyp3 == "#z" tz = ((#z-@txia3)*@txib3)^@txic3 elseif @ztyp3 == "Morph z" tz = ((f_p-@txia3)*@txib3)^@txic3 elseif @ztyp3 == "Trap z" tz = ((trap_p-@txia3)*@txib3)^@txic3 elseif @ztyp3 == "Trap #z" tz = ((trap_z-@txia3)*@txib3)^@txic3 elseif @ztyp3 == "Trap dist" tz = ((distance-@txia3)*@txib3)^@txic3 elseif @ztyp3 == "Raw dist" tz = ((d-@txia3)*@txib3)^@txic3 endif if @gnarl_init == 0 p = @fntx7(@fntx6(tz))^@exad6 elseif @gnarl_init == 1 p = @fntx6(real(tz))^@exad6+@fntx7(imag(tz))^@exad7 elseif @gnarl_init == 2 p = @fntx6(real(tz))^@exad6-@fntx7(imag(tz))^@exad7 elseif @gnarl_init == 3 p = @fntx6(real(tz))^@exad6*@fntx7(imag(tz))^@exad7 elseif @gnarl_init == 4 p = @fntx6(imag(tz))^@exad6-@fntx7(real(tz))^@exad7 elseif @gnarl_init == 5 p = @fntx7(@fntx6(x))^@exad6 elseif @gnarl_init == 6 p = @fntx7(@fntx6(y))^@exad6 elseif @gnarl_init == 7 p = @fntx6(x)^@exad6+@fntx7(y)^@exad7 elseif @gnarl_init == 8 p = @fntx6(x)^@exad6-@fntx7(y)^@exad7 elseif @gnarl_init == 9 p = @fntx7(y)^@exad6-@fntx6(x)^@exad7 elseif @gnarl_init == 10 p = @fntx6(x)^@exad6*@fntx7(y)^@exad7 elseif @gnarl_init == 11 p = @fntx6(x)^@exad6/@fntx7(y)^@exad7 elseif @gnarl_init == 12 p = @fntx7(y)^@exad6/@fntx6(x)^@exad7 elseif @gnarl_init == 13 p = @fntx6(x)^@exad6^@fntx7(y)^@exad7 elseif @gnarl_init == 14 p = @fntx7(y)^@exad6^@fntx6(x)^@exad7 elseif @gnarl_init == 15 p = @fntx6(x)^@exad6+@fntx7(tz)^@exad7 elseif @gnarl_init == 16 p = @fntx6(x)^@exad6-@fntx7(tz)^@exad7 elseif @gnarl_init == 17 p = @fntx7(tz)^@exad6-@fntx6(x)^@exad7 elseif @gnarl_init == 18 p = @fntx6(x)^@exad6*@fntx7(tz)^@exad7 elseif @gnarl_init == 19 p = @fntx6(x)^@exad6/@fntx7(tz)^@exad7 elseif @gnarl_init == 20 p = @fntx7(tz)^@exad6/@fntx6(x)^@exad7 elseif @gnarl_init == 21 p = @fntx6(y)^@exad6+@fntx7(tz)^@exad7 elseif @gnarl_init == 22 p = @fntx6(y)^@exad6-@fntx7(tz)^@exad7 elseif @gnarl_init == 23 p = @fntx7(tz)^@exad6-@fntx6(y)^@exad7 elseif @gnarl_init == 24 p = @fntx6(y)^@exad6*@fntx7(tz)^@exad7 elseif @gnarl_init == 25 p = @fntx6(y)^@exad6/@fntx7(tz)^@exad7 elseif @gnarl_init == 26 p = @fntx7(tz)^@exad6/@fntx6(y)^@exad7 elseif @gnarl_init == 27 p = @fntx7(@fntx6(#pixel))^@exad6 endif if @gnarl_scaling == 0 p = p-ceil(p*@gnarl_scale)/@gnarl_scale elseif @gnarl_scaling == 1 p = p-floor(p*@gnarl_scale)/@gnarl_scale elseif @gnarl_scaling == 2 p = p-trunc(p*@gnarl_scale)/@gnarl_scale elseif @gnarl_scaling == 3 p = p-round(p*@gnarl_scale)/@gnarl_scale elseif @gnarl_scaling == 4 p = p-real(@fngnarl(p*@gnarl_scale))/@gnarl_scale elseif @gnarl_scaling == 5 p = p-round(p*@gnarl_scale)/@gnarl_scale-ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 6 p = p-round(p*@gnarl_scale)/@gnarl_scale*ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 7 p = p+round(p*@gnarl_scale)/@gnarl_scale*ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 8 p = p-round(p*@gnarl_scale)/@gnarl_scale-trunc(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 9 p = p-round(p*@gnarl_scale)/@gnarl_scale*trunc(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 10 p = p+round(p*@gnarl_scale)/@gnarl_scale*trunc(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 11 p = p-trunc(p*@gnarl_scale)/@gnarl_scale-floor(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 12 p = p-trunc(p*@gnarl_scale)/@gnarl_scale*floor(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 13 p = p+trunc(p*@gnarl_scale)/@gnarl_scale*floor(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 14 p = p-trunc(p*@gnarl_scale)/@gnarl_scale-ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 15 p = p-trunc(p*@gnarl_scale)/@gnarl_scale*ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 16 p = p+trunc(p*@gnarl_scale)/@gnarl_scale*ceil(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 17 p = p-ceil(p*@gnarl_scale)/@gnarl_scale-floor(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 18 p = p-ceil(p*@gnarl_scale)/@gnarl_scale*floor(p*@gnarl_scale2)/@gnarl_scale2 elseif @gnarl_scaling == 19 p = p+ceil(p*@gnarl_scale)/@gnarl_scale*floor(p*@gnarl_scale)/@gnarl_scale2 endif if @gnarl_size != 0 p = p/@gnarl_size endif xx = real(p) yy = imag(p) float xOld = 0 int iter3 = @gnarl_octaves while (iter3 > 0) iter3 = iter3-1 xOld = xx if @gnarl_form == 0 xx = xx - sin(yy + sin(yy)) yy = yy - sin(xOld + sin(xOld)) elseif @gnarl_form == 1 xx = xx - sin(yy + log(yy + cos(yy))) yy = yy - sin(xOld + log(xOld + cos(xOld))) elseif @gnarl_form == 2 xx = xx - sin(yy + cos(yy)) yy = yy - sin(xOld + cos(xOld)) elseif @gnarl_form == 3 xx = xx - sin(yy + log(yy + tan(yy))) yy = yy - sin(xOld + log(xOld + tan(xOld))) elseif @gnarl_form == 4 xx = xx - sin(yy + log(yy + sin(yy))) yy = yy - sin(xOld + log(xOld + sin(xOld))) endif endwhile if (@gnarl_type == 0) texture_gna = real(@fng(xx)) elseif (@gnarl_type == 1) texture_gna = real(@fng(yy)) elseif (@gnarl_type == 2) texture_gna = real(@fng(xx+yy)) elseif (@gnarl_type == 3) texture_gna = real(@fng(xx*yy)) elseif (@gnarl_type == 4) texture_gna = real(@fng(xx-yy)) elseif (@gnarl_type == 5) texture_gna = real(@fng(xx/yy)) elseif (@gnarl_type == 6) texture_gna = real(@fng(yy/xx)) elseif (@gnarl_type == 7) texture_gna = real(@fng(xx^yy)) elseif (@gnarl_type == 8) texture_gna = real(@fng(yy^xx)) elseif (@gnarl_type == 9) texture_gna = real(@fng(1/xx)) elseif (@gnarl_type == 10) texture_gna = real(@fng(1/yy)) elseif (@gnarl_type == 11) texture_gna = atan2(xx+i*yy)/(2*#pi) if (texture_gna < 0) texture_gna = texture_gna + 1 endif elseif (@gnarl_type == 12) texture_gna = |xx+i*yy| elseif (@gnarl_type == 13) texture_gna = (xx+yy+|xx+i*yy|)/3 elseif (@gnarl_type == 14) texture_gna = (xx*yy*|xx+i*yy|)^(1/3) endif if @gnarl_limit !=0 texture_gna= 10 * (texture_gna%@gnarl_limit) * @gnarl_amt endif endif ;geometrix texture if (@trtxt != 0) && @advtr if @ztyp5 == "#z" tz = ((#z-@trxia)*@trxib)^@trxic elseif @ztyp5 == "Morph z" tz = ((f_p-@trxia)*@trxib)^@trxic elseif @ztyp5 == "Trap z" tz = ((trap_p-@trxia)*@trxib)^@trxic elseif @ztyp5 == "Trap #z" tz = ((trap_z-@trxia)*@trxib)^@trxic elseif @ztyp5 == "Trap dist" tz = ((distance-@trxia)*@trxib)^@trxic elseif @ztyp5 == "Raw dist" tz = ((d-@trxia)*@trxib)^@trxic endif if @trinit == 0 ptr = (@fntx11(@fntx10(tz))^@exad10) elseif @trinit == 1 ptr = (@fntx10(real(tz))^@exad10+@fntx11(imag(tz))^@exad11) elseif @trinit == 2 ptr = (@fntx10(real(tz))^@exad10-@fntx11(imag(tz))^@exad11) elseif @trinit == 3 ptr = (@fntx10(real(tz))^@exad10*@fntx11(imag(tz))^@exad11) elseif @trinit == 4 ptr = (@fntx10(imag(tz))^@exad10-@fntx11(real(tz))^@exad11) elseif @trinit == 5 ptr = (@fntx11(@fntx10(x))^@exad10) elseif @trinit == 6 ptr = (@fntx11(@fntx10(y))^@exad10) elseif @trinit == 7 ptr = (@fntx10(x)^@exad10+@fntx11(y)^@exad11) elseif @trinit == 8 ptr = (@fntx10(x)^@exad10-@fntx11(y)^@exad11) elseif @trinit == 9 ptr = (@fntx11(y)^@exad11-@fntx10(x)^@exad10) elseif @trinit == 10 ptr = (@fntx10(x)^@exad10*@fntx11(y)^@exad11) elseif @trinit == 11 ptr = (@fntx10(x)^@exad10/@fntx11(y)^@exad11) elseif @trinit == 12 ptr = (@fntx11(y)^@exad11/@fntx10(x)^@exad10) elseif @trinit == 13 ptr = (@fntx10(x)^@exad10^@fntx11(y)^@exad11) elseif @trinit == 14 ptr = (@fntx11(y)^@exad11^@fntx10(x)^@exad10) elseif @trinit == 15 ptr = (@fntx10(x)^@exad10+@fntx11(tz)^@exad11) elseif @trinit == 16 ptr = (@fntx10(x)^@exad10-@fntx11(tz)^@exad11) elseif @trinit == 17 ptr = (@fntx11(tz)^@exad11-@fntx10(x)^@exad10) elseif @trinit == 18 ptr = (@fntx10(x)^@exad10*@fntx11(tz)^@exad11) elseif @trinit == 19 ptr = (@fntx10(x)^@exad10/@fntx11(tz)^@exad11) elseif @trinit == 20 ptr = (@fntx11(tz)^@exad11/@fntx10(x)^@exad10) elseif @trinit == 21 ptr = (@fntx10(y)^@exad10+@fntx11(tz)^@exad11) elseif @trinit == 22 ptr = (@fntx10(y)^@exad10-@fntx11(tz)^@exad11) elseif @trinit == 23 ptr = (@fntx11(tz)^@exad11-@fntx10(y)^@exad10) elseif @trinit == 24 ptr = (@fntx10(y)^@exad10*@fntx11(tz)^@exad11) elseif @trinit == 25 ptr = (@fntx10(y)^@exad10/@fntx11(tz)^@exad11) elseif @trinit == 26 ptr = (@fntx11(tz)^@exad11/@fntx10(y)^@exad10) endif endif if @advtr zrzr = real(@fnzr(ptr))*@scc zizi = imag(@fnzi(ptr))*@scc rzrz = floor(zrzr) iziz = floor(zizi) r0r0 = rzrz - 1 i0i0 = iziz - 1 r1r1 = rzrz + 1 i1i1 = iziz + 1 azaz = cabs(@fn1tx(r0r0) + @fn2tx(i0i0)) azaz = cabs(@fn3tx(azaz)) azaz = (azaz % @shad1 * 2) bzbz = cabs(@fn1tx(r1r1) + @fn2tx(i0i0)) bzbz = cabs(@fn3tx(bzbz)) bzbz = (bzbz % @shad2 * 2) czcz = cabs(@fn1tx(r1r1) + @fn2tx(i1i1)) czcz = cabs(@fn3tx(czcz)) czcz = (czcz % @shad3 * 2) dzdz = cabs(@fn1tx(r0r0) + @fn2tx(i1i1)) dzdz = cabs(@fn3tx(dzdz)) dzdz = (dzdz % @shad4 * 2) iii = 1 repeat avav = avav / (@trp1 * 2) xbxb = xbxb / (@trp2 * 2) frfr = rzrz + avav fifi = iziz + avav zaza = (azaz + bzbz + czcz + dzdz) / (@trp3 * 4) zzzz = zzzz * xbxb + zaza if (zrzr > frfr) if (zizi > fifi) rzrz = frfr iziz = fifi azaz = zzzz else rzrz = frfr dzdz = zzzz endif else if (zizi > fifi) iziz = fifi bzbz = zzzz else czcz = zzzz endif endif iii = iii + 1 until iii >= @freq texture_tr = (zaza-trunc(zaza*2)^@exp)*@trtxt if @geo_limit != 0 texture_tr = ((zaza-trunc(zaza)^@exp*2)% @geo_limit)*@trtxt endif if @geo_sgn == true texture_tr = abs(texture_tr) endif endif texture = (texture_dec+texture_gna+texture_tr)*@txamt/6000 if @trap_mode == 7 || @trap_mode == 11 distance = distance + cabs(trap_p) endif if @trap_mode == 8 || @trap_mode == 12 distance = distance + cabs(trap_z) endif if @trap_mode == 9 || @trap_mode == 13 distance = distance + (cabs(trap_z) + cabs(trap_p))/2 endif IF (@trap_mode == 1 || @trap_mode == 2 || @trap_mode == 5 \ || @trap_mode == 6 || @trap_mode == 7 || @trap_mode == 8 || \ @trap_mode == 9 || @trap_mode == 10 || @trap_mode == 11 \ || @trap_mode == 12 || @trap_mode == 13) \ || ((@version == "1.4" || @version == "1.5") && @trap_mode == 4) IF !trapped && @back == true #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ENDIF ENDIF ELSEIF (@trap_mode != 1 && @trap_mode != 2 && @trap_mode != 5 \ && @trap_mode != 6 && @trap_mode != 7 && @trap_mode != 8 \ && @trap_mode != 9 && @trap_mode != 10 && @trap_mode != 11 \ && @trap_mode != 12 && @trap_mode != 13 \ || ((@version == "1.4" || @version == "1.5") && @trap_mode==4)) && trap IF msk == true && min_dist > @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ENDIF ENDIF IF rmask == true && min_dist <= @width #solid = true ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ENDIF ENDIF ELSE IF @color_mode == 0 #index = distance*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 1 #index = 0.01*trap_iter*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture if @discrete == 1 #index = (trap_iter % @modcolor)/@modcolor endif ELSEIF @color_mode == 2 #index = cabs(trap_z)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 3 #index = abs(real(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 4 #index = abs(imag(trap_z))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 5 float angle = atan2(trap_z) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 6 #index = cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 7 #index = abs(real(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 8 #index = abs(imag(trap_p))*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 9 float angle = atan2(trap_p) IF angle < 0 angle = angle + 2 * #pi ENDIF angle = 1 / (2 * #pi) * angle #index = angle*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 10 #index = 0.1*exptrap_p*cabs(trap_p)*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ELSEIF @color_mode == 11 #index = 0.01 * exptrap_p*0.99*(1+@fbmf*(sum+1)*0.5)/(1+@fbmf)+t+texture ENDIF ENDIF default: title = "Polar Traps Enhanced" heading caption = "Polar Traps Enhanced" endheading $ifdef VER40 heading text = "This is a general coloring formula with 31 trap types and 9 trap \ variants for each type." endheading heading text = "Some of the code is based upon appoaches of Mark Townsend and Damien Jones. \ The Morph code and the code for Decimal texturing, Popgnarl texturing \ and Geometrix texturing is from Toby Marshall. Some of the textures \ Toby used were originally developed by Michèle Dessureault \ (popgnarl and decimal)." endheading $endif param version caption = "Version number" enum = "0" "1.4" "1.5" default = 2 hint = "This is for backwards compatibility with old versions \ of the formula. If your old upr does perform correctly, change the default 'Version \ number' to '0'. DO NOT CHANGE THE DEFAULT VALUE FOR NEW UPRS!" endparam $ifdef VER40 heading text = "If your old upr does perform correctly, change the default 'Version \ number' to '0'. DO NOT CHANGE THE DEFAULT VALUE FOR NEW UPRS!" endheading $else heading caption = "If your old upr does perform correctly," endheading heading caption = "change the default 'Version number'" endheading heading caption = "to '0'. DO NOT CHANGE THE DEFAULT VALUE FOR NEW UPRS!" endheading $endif bool param expert caption = "Expert mode" default = false visible = @version == "1.4" || @version == "1.5" endparam heading caption = "General Parameters" endheading param trap_mode caption = "Trap mode" enum = "Closest" "First" "Last" "Smallest trap" "Average" "Farthest" \ "Sum" "Weighted Sum" "Weighted Sum 2" "Weighted Sum 3" \ "Sum 2" "Weighted Sum 4" "Weighted Sum 5" "Weighted Sum 6" endparam float param edge caption = "Edge effects" default = 0.0 visible = @trap_mode == 0 || @trap_mode == 3 endparam param color_mode caption = "Coloring mode" enum = "Distance" "Iteration" "Magnitude" "Real" "Imag" \ "Angle" "Trap magnitude" "Trap real" "Trap imag" \ "Trap angle" "Exp Iter" "Exp Iter 2" endparam param discrete caption = "Iteration options" default = 0 enum = "normal" "discrete colors" visible = @color_mode == 1 hint = "'discrete colors' allows the user to set the total number of colors \ to use with mod iter." endparam int param modcolor caption = "# of iteration colors" default = 8 visible = @color_mode == 1 && @discrete == 1 hint = "Number of iteration colors to use with mod iter. This is useful \ for gradient masks where the mask allows a specific mod iter to \ be opaque or transparent." endparam param trapvar caption = "Trap variants" default = 0 enum = "default" "1" "2" "3" "4" "5" "6" "7" "8" "9" endparam float param mod caption = "Trap modulator" default = 1.0 endparam func fn3 caption = "Trap var function" default = cos() visible=@trapvar == 5||@trapvar == 7||@trapvar == 8||@trapvar == 9 endfunc param width caption = "Trap width" default = 0.1 endparam param settrap caption = "Trapping Mask" default = 0 enum = "none" "normal" "reverse" visible = (@trap_mode == 0 || @trap_mode == 3) && (@version == "1.4" ||\ @version == "1.5") endparam param trap caption = "Alternate trap" default = false hint = "Trap for modes other than 'first' and 'last'" visible = @version == "0" endparam param mask caption = "Mask" default = true hint = "Uses 'trap width' as threshold" visible = @version == "0" endparam param rmask caption = "Reverse mask" default = false hint = "Uses 'trap width' as threshold" visible = @version == "0" endparam param back caption = "Solid Background" default = true visible=(@trap_mode == 1 || @trap_mode == 2 || @trap_mode == 5 \ || @trap_mode == 6 || @trap_mode == 7 || @trap_mode == 8 || \ @trap_mode == 9 || @trap_mode == 10 || @trap_mode == 11 \ || @trap_mode == 12 || @trap_mode == 13) || ((@version == "1.4" ||\ @version == "1.5") && @trap_mode == 4) endparam param disttype caption = "Distance type" default = 0 enum = "Abs total" "Abs parts" hint = "The distance function must be positive. \ The absolute value can be taken of the \ whole function or of its individual parts." endparam float param dmod caption = "Distance modulator" default = 1.0 min = 0.0 endparam param trapnum caption = "Number of Traps" default = 0 enum = "1" "2" hint = "This is the number of traps to use." visible = @expert&& (@version == "1.4" || @version == "1.5") endparam bool param alliter caption = "Use all iterations" default = true visible = @expert&& (@version == "1.4" || @version == "1.5") endparam param skip caption = "Initial iterations" hint = "This is the initial number of iterations before watching \ the orbit." default = 0 min = 0 visible = (!@alliter && @expert)|| @version == "0" endparam param no_of_iters caption = "Iterations to trap" hint = "This is the number of iterations to monitor the orbit." default = 0 min = 0 visible = !@alliter && @expert|| @version == "0" endparam param itergap caption = "Iterations to skip" default = 0 min = 0 hint = "This is the number of iterations before resuming monitoring of the \ orbit." visible = !@alliter && @expert&& (@version == "1.4" || @version == "1.5") endparam int param pattern caption = "Pattern repeat" default = 0 min = 0 hint = "Set to zero for unlimited repeats, otherwise it sets the number of \ times 'trap iters' and 'skip iters' is carried out." visible = !@alliter && @expert && (@version == "1.4" || @version == "1.5") endparam heading caption = "Trap Merging" visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endheading param trapAweight caption = "Trap A Weight" default = 0 enum = "A" "-A" "|A|" "A*A" "-A*A" "A*A*A" "-A*A*A" "|A*A*A|" "log(A)" \ "exp(A)" "sqrt(A)" "A^(1/3)" hint = "Sets the weight for this trap." visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endparam param trapBweight caption = "Trap B Weight" default = 0 enum = "B" "-B" "|B|" "B*B" "-B*B" "B*B*B" "-B*B*B" "|B*B*B|" "log(B)" \ "exp(B)" "sqrt(B)" "B^(1/3)" hint = "Sets the weight for this trap." visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endparam param trapmerge caption = "Merge Mode" default = 0 enum = "min(A,B)" "max(A,B)" "A+B" "A*B" "A/B" "B/A" "1/(A*B)" "A^B" "B^A" \ "|A-B|" "Func(A) op Func(B)" "A" "B" "A AND B" "B AND A" "A OR B" \ "B OR A" "A NOT B" "B NOT A" hint = "Sets the merge method for the traps" visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endparam func mfuncA caption = "Merge func A" default = ident() visible = @trapnum == 1 && @expert && @trapmerge == "Func(A) op Func(B)" \ && (@version == "1.4" || @version == "1.5") endfunc func mfuncB caption = "Merge func B" default = atan() visible = @trapnum == 1 && @expert && @trapmerge == "Func(A) op Func(B)"\ && (@version == "1.4" || @version == "1.5") endfunc param mop caption = "Merge operator" default = 2 enum = "+" "-" "*" "/" "^" visible = @trapnum == 1 && @expert && @trapmerge == "Func(A) op Func(B)"\ && (@version == "1.4" || @version == "1.5") endparam param trapmergeabs caption = "No Negative Distances" default = false hint = "If set, converts negative combined trap distances to positive." visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endparam bool param distmerge caption = "Merge distance" default = true visible = @trapnum == 1 && @expert endparam bool param f_pmerge caption = "Merge trap metric" default = false visible = @trapnum == 1 && @expert && (@color_mode == 6 || \ @color_mode == 7 || @color_mode == 8 || @color_mode == 9 \ || @color_mode == 10) hint = "This affects only certain color modes. It can be used with \ interesting results with 'Merge distance' turned off." endparam heading caption = "Trap Parameters" visible = @trapnum == 0 endheading heading caption = "Trap A Parameters" visible = @trapnum == 1 && @expert && (@version == "1.4" || @version == "1.5") endheading param typeA caption = "Trap Type" default = 0 enum = "Archimedes" "bifolium" "cardiod" "Cayley's sextic" "circle" \ "cissoid of Diocles" "conchoid" "Cotes' spiral" "cycloid" \ "cycloid of Seva" "dipole curve""eight curve" \ "folium of Descartes" "hyperbola" "kappa curve" \ "kampyle of Eudoxus" "lemniscate" "limacon of Pascal" \ "lituus" "log spiral" "maltese cross" "ophiuride" \ "quadratrix of Hippias" "quadrifolium" "rose" "scarabaeus" \ "semicubical parabola" "swastika curve" "trifolium" \ "Tschirnhausen cubic" "trisectrix of Maclaurin" endparam param aA caption = "Polar parameter" default = 0.2 hint = "Affects spread and scale of trap" visible = @typeA != "cycloid" endparam param bA caption = "Polar parameter #2" default = 1.0 visible=@typeA == "Conchoid" || @typeA == "limacon of Pascal" \ || @typeA == "circle" || @typeA == "Cotes' spiral" || \ @typeA == "ophiuride" || @typeA == "scarabaeus" endparam param angA caption = "Trap rotation" default = 0.0 endparam param skewA caption = "Trap Skew" default = 0.0 endparam param startA caption = "Start offset" default = (0.0,0.0) visible = (@trapvar >= 4 || @color_mode >= 6) endparam param offsetA caption = "Trap offset" default = (0.0,0.0) endparam param moveA caption = "Move trap offset" default = false endparam complex param moveamtA caption = "Move amount" default = (1,0) visible = @moveA endparam heading caption = "Progressive Parameters" visible = (@trapnum == 0 && @expert) || @version == "0" endheading heading caption = "Progressive A Parameters" visible = @trapnum == 1 && @expert&& (@version == "1.4" || @version == "1.5") endheading float param aAstep caption = "Inc polar param" default = 0 visible = @expert || @version == "0" endparam float param bAstep caption = "Inc polar param #2" default = 0 visible=(@typeA == "Conchoid" || @typeA == "limacon of Pascal" \ || @typeA == "circle" || @typeA == "Cotes' spiral" || \ @typeA == "ophiuride" || @typeA == "scarabaeus") \ && @expert || @version == "0" endparam float param rotAstep caption = "Inc rotation" default = 0 visible = @expert || @version == "0" endparam float param skewAstep caption = "Inc skew" default = 0 visible = @expert || @version == "0" endparam complex param startAstep caption = "Inc start" default = (0,0) visible = (@trapvar >= 4 || @color_mode >= 6) && (@expert || @version == "0") endparam complex param trapAstep caption = "Inc trap offset" default = (0,0) visible = @expert || @version == "0" endparam heading caption = "Trap B Parameters" visible = @trapnum == 1 && @expert endheading param typeB caption = "Trap Type B" default = 0 enum = "Archimedes" "bifolium" "cardiod" "Cayley's sextic" "circle" \ "cissoid of Diocles" "conchoid" "Cotes' spiral" "cycloid" \ "cycloid of Seva" "dipole curve""eight curve" \ "folium of Descartes" "hyperbola" "kappa curve" \ "kampyle of Eudoxus" "lemniscate" "limacon of Pascal" \ "lituus" "log spiral" "maltese cross" "ophiuride" \ "quadratrix of Hippias" "quadrifolium" "rose" "scarabaeus" \ "semicubical parabola" "swastika curve" "trifolium" \ "Tschirnhausen cubic" "trisectrix of Maclaurin" visible = @trapnum == 1 && @expert endparam param ang caption = "Trap rotation" default = 0.0 visible = @version == "0" endparam param aB caption = "Polar parameter" default = 0.2 hint = "Affects spread and scale of trap" visible = @trapnum == 1 && @expert && @typeB != "cycloid" endparam param bB caption = "Polar parameter #2" default = 1.0 visible=(@typeB == "Conchoid" || @typeB == "limacon of Pascal" \ || @typeB == "circle" || @typeB == "Cotes' spiral" ||\ @typeB == "ophiuride" || @typeB == "scarabaeus" )&& \ @trapnum == 1 && @expert endparam param angB caption = "Trap rotation" default = 0.0 visible = @trapnum == 1 && @expert endparam param skewB caption = "Trap Skew" default = 0.0 visible = @trapnum == 1 && @expert endparam param startB caption = "Start offset" default = (0.0,0.0) visible = @trapnum == 1 && (@trapvar >= 4 || @color_mode >= 6) && @expert endparam param offsetB caption = "Trap offset" default = (0.0,0.0) visible = @trapnum == 1 && @expert endparam param moveB caption = "Move trap offset" default = false visible = @trapnum == 1 && @expert endparam complex param moveamtB caption = "Move amount" default = (1,0) visible = @moveB && @trapnum == 1 && @expert endparam heading caption = "Progressive B Parameters" visible = @trapnum == 1 && @expert endheading float param aBstep caption = "Inc polar param" default = 0 visible = @trapnum == 1 && @expert endparam float param bBstep caption = "Inc polar param #2" default = 0 visible=(@typeB == "Conchoid" || @typeB == "limacon of Pascal" \ || @typeB == "circle" || @typeB == "Cotes' spiral" ||\ @typeB == "ophiuride" || @typeB == "scarabaeus") endparam float param rotBstep caption = "Inc rotation" default = 0 visible = @trapnum == 1 && @expert endparam float param skewBstep caption = "Inc skew" default = 0 visible = @trapnum == 1 && @expert endparam complex param startBstep caption = "Inc start" default = (0,0) visible = @trapnum == 1 && (@trapvar >= 4 || @color_mode >= 6) && @expert endparam complex param trapBstep caption = "Inc trap offset" default = (0,0) visible = @trapnum == 1 && @expert endparam heading caption = "fBm Parameters" visible = @expert || @version == "0" endheading param weight caption = "fBm Weight" default = 0.0 min = 0.0 max = 1.0 visible = @expert || @version == "0" endparam param transfer caption = "fBm Transfer Function" default = 0 enum = "linear" "product" "quotient" "log" "exp" \ "sqr" "sqrt" "sin" "asin" "tan" "atan" visible = @expert || @version == "0" endparam param fbm caption = "fBm Transfer Weight" default = 0.0 min = 0.0 visible = @expert || @version == "0" endparam param noffset caption = "fBm Offset" default = (0,0) hint = "This is the offset of the pattern. You can use this to shift \ the pattern around on the complex plane." visible = @expert || @version == "0" endparam param nscale caption = "fBm Scale" default = 0.0 hint = "This is the overall scale of the noise." visible = @expert || @version == "0" endparam param fbmf caption = "fBm Final Weight" default = 10.0 visible = @expert || @version == "0" endparam heading caption = "Texture Parameters" visible = @expert || @version == "0" endheading param toffset caption = "Texture offset" default = (-1,-1) hint = "Changes the texture pattern." visible = @expert || @version == "0" endparam param tweight caption = "Texture weight" default = 0.0 visible = @expert || @version == "0" endparam param ts caption = "Texture scale" default = 20.0 visible = @expert || @version == "0" endparam param tc caption = "Texture modifier" default = 5.0 visible = @expert || @version == "0" endparam param pwr caption = "Texture power" default = 1.0 visible = @expert || @version == "0" endparam param addfbm caption = "Add fBm" default = false visible=(@version == "1.4" || @version == "1.5") && @expert endparam param tfbm caption = "fBm Amount" default = 1.0 visible=(@version == "1.4" || @version == "1.5")&&@addfbm==true && @expert endparam func fn1 caption = "Texture Function 1" default = sqr() visible = @expert || @version == "0" endfunc func fn2 caption = "Texture Function 2" default = acos() visible = @expert || @version == "0" endfunc func fn6 caption = "Texture Function 3" default = round() visible=(@version == "1.4" || @version == "1.5") && @expert endfunc heading caption = "Morph Parameters" visible = (@change == 0 && @exp1 == (1,0) && @exp2 == (1,0) \ && @exp3 == (1,0) && @tw == (0,0) && @tw2 == (0,0) && @tw3 == \ (0,0) && @tha2 == false)&& @expert endheading heading caption = "Morph Parameters [active]" visible = (@change != 0 || @exp1 != (1,0) || @exp2 != (1,0) || \ @exp3 != (1,0) || @tw != (0,0) || @tw2 != (0,0) || \ @tw3 != (0,0) || @tha2 == true)&& @expert endheading param showm caption = "Morph Parameters" hint = "Additional shaping parameters and functions." default = false visible = @expert endparam param tha2 caption = "Morph -> Morph II" default = false visible = @showm&& @expert endparam param change caption = "Morph" enum = "1""2""3""4""5""6""7""8""9""10""11" default = 0 visible = @showm && @expert endparam param mmode caption = "Z1 Mode" enum = "z+|z|""z-|z|""|z|-z" default = 0 hint = "Defines relationship of z1 to z in 1st z block" visible = @showm && @tha2 && @expert endparam param zchange1 caption = "Z1 type" enum = "|z|""atan2(z)""real(z)""imag(z)" default = 0 hint = "Determines the character of z1 variable " visible = @showm && @tha2 && @expert endparam param mmode2 caption = "Z2 Mode" enum = "z+|z|""z-|z|""|z|-z""z*|z|""z/|z|""|z|/z" default = 0 hint = "Defines relationship of z2 to z in 2nd z block" visible = @showm && @tha2 && @change > 0 && @expert endparam param zchange2 caption = "Z2 type" enum = "|z|""atan2(z)""real(z)""imag(z)" default = 0 hint = "Determines the character of z2 variable " visible = @showm && @tha2 && @change > 0 && @expert endparam param mmode3 caption = "Z3 Mode" enum = "z+|z|""z-|z|""|z|-z""z*|z|""z/|z|""|z|/z" default = 0 hint = "Defines relationship of z3 to z in 3rd z block" visible = @showm && @tha2 && @change > 5 && @expert endparam param zchange3 caption = "Z3 type" enum = "|z|""atan2(z)""real(z)""imag(z)" hint = "Determines the character of z3 variable " default = 0 visible = @showm && @tha2 && @change > 5 && @expert endparam complex param exp1 caption = "Bias 1" default = (1,0) visible = @showm && @expert endparam complex param exp3 caption = "Bias 2" default = (1,0) visible = @showm && @change > 0 && @expert endparam complex param exp2 caption = "Bias 3" default = (1,0) visible = @showm && @change > 5&& @expert endparam complex param exp4 caption = "Bias Z1" default = (1,0) visible = @tha2 && @showm && @expert endparam complex param exp5 caption = "Bias Z2" default = (1,0) visible = @tha2 && @showm && @change > 0 && @expert endparam complex param exp6 caption = "Bias Z3" default = (1,0) visible = @tha2 && @showm && @change > 5 && @expert endparam complex param tw caption = "Twist 1" default = (0,0) visible = @showm && @expert endparam complex param tw2 caption = "Twist 2" default = (0,0) visible = @showm && @change > 0 && @expert endparam complex param tw3 caption = "Twist 3" default = (0,0) visible = @showm && @change > 5 && @expert endparam complex param tw4 caption = "Twist Z1" default = (0,0) visible = @tha2 && @showm && @expert endparam complex param tw5 caption = "Twist Z2" default = (0,0) visible = @tha2 && @showm && @change > 0 && @expert endparam complex param tw6 caption = "Twist Z3" default = (0,0) visible = @tha2 && @showm && @change > 5 && @expert endparam param op caption = "Operator" enum = "+""-""*""/""^" default = 0 visible = @showm && @change > 5&& @expert endparam func nufunc caption = "Morph function 1" default = ident() visible = @showm&& @expert endfunc func nufunc2 caption = "Morph function 2" default = ident () visible = @showm && @change > 0&& @expert endfunc func nufunc3 caption = "Morph function 3" default = ident () visible = @showm && @change > 5 && @expert endfunc func nufunc4 caption = "Morph function Z1" default = ident () visible = @tha2 && @showm && @expert endfunc func nufunc5 caption = "Morph function Z2" default = zero () visible = @tha2 && @showm && @change > 0 && @expert endfunc func nufunc6 caption = "Morph function Z3" default = zero () visible = @tha2 && @showm && @change > 5 && @expert endfunc heading caption = "Toby's Texture Parameters" visible = @expert endheading param advt caption = "Texture Parameters" default = true visible = false endparam float param txamt caption = "Overall Tx Percent" default = 100.0 hint = "Controls the amount of \ Random, fBm, Decimal, Popgnarl and Additional \ texture applied cumulatively." visible = @advt && @expert endparam heading caption = "Decimal" visible = @advt && @decamt == 0 && @expert endheading heading caption = "Decimal [active]" visible = @advt && @decamt != 0 && @expert endheading param advd caption = "Decimal Texturing" default = false visible = @advt && @expert endparam float param decamt caption = "Decimal Tx Amount" default = 0.0 visible = @advt && @advd && @expert endparam param dec_init caption = "Decimal Initialisation" enum = "z""real+imag(z)""real-imag(z)""real*imag(z)""imag-real(z)" \ "x""y""x+y""x-y""y-x""x/y""x*y""y/x""x^y""y^x""x+z""x-z""z-x""x*z" \ "x/z""z/x""y+z""y-z""z-y""y*z""y/z""z/y" default = 0 hint = "Determines which variable(s) initialize(s) the texture" visible = @advt && @advd && @expert endparam param ztyp2 caption = "Init z type" enum = "#z""Morph z""Trap z""Trap #z""Trap dist" "Raw dist" default = 2 hint = "Determines which kind of 'z' variable is used in \ 'Decimal Initialization' (when z is present). Textures created \ with 'Trap z' conform to the element shapes and change with changes \ in the Morph values, 'Trap #z' textures conform to the element shapes \ but do change. 'Morph z' textures do not conform to element shapes and \ change with Morph values and '#z' textures do not conform and remain \ invariant, as do 'Dist' textures." visible = @advt && @advd && (@dec_init < 5 || @dec_init > 14) && \ @expert endparam func fntx4 caption = "Init Function 1" default = ident() hint = "Modifies the 1st variable defined in \ 'Decimal Initialization'" visible = @advt && @advd && @expert endfunc func fntx5 caption = "Init Function 2" default = ident() hint = "Modifies the 2nd variable defined in \ 'Decimal Initialization'" visible = @advt && @advd && @expert endfunc param dec_type caption = "Decimal Type" enum = "Ceil" "Floor" "Trunc" "Round""All Functions" \ "-Round-Ceil""-Round*Ceil""+Round*Ceil""-Round-Trunc" \ "-Round*Trunc""+Round*Trunc""-Trunc-Floor""-Trunc*Floor" \ "+Trunc*Floor""-Trunc-Ceil""-Trunc*Ceil""+Trunc*Ceil" \ "-Ceil-Floor""-Ceil*Floor""+Ceil*Floor" visible = @advt && @advd && @expert endparam func fndec caption = "Type Function" default = atanh () hint = "Active when 'Decimal Type' = 'All Functions'" visible = @advt && @advd && @dec_type == 4 && @expert endfunc complex param txia2 caption = "Tx Pattern 1" default = (0.0,0.0) visible = @advt && @advd && (@dec_init < 5 || @dec_init > 14) && @expert endparam complex param txib2 caption = "Tx Pattern 2" default = (1.0,0.0) visible = @advt && @advd && (@dec_init < 5 || @dec_init > 14) && @expert endparam complex param txic2 caption = "Tx Pattern 3" default = (1.0,0.0) visible = @advt && @advd && (@dec_init < 5 || @dec_init > 14) && @expert endparam float param dec_scale caption = "Scale 1st Variable" default = 1.0 hint = "Changes the value of the 1st (or only) variable \ defined in 'Decimal Type'" visible = @advt && @advd && @expert endparam float param dec_scale2 caption = "Scale 2nd Variable" default = 1.0 hint = "Changes the value of the 2nd variable \ (when present) defined in 'Decimal Type'" visible = @advt && @advd && @dec_type > 4 && @expert endparam float param dectxt caption = "Decimal Depth" default = 1.0 hint = "Changes the amount and to some extent \ the pattern of the texture." visible = @advt && @advd && @expert endparam float param dec_limit caption = "Decimal Limit" default = 2.0 hint = "Limits the texture depth" min = 0.0 visible = @advt && @advd && @expert endparam complex param exad4 caption = "Frequency 1" default = (1.0,0.0) hint = "Changes the frequency of the texture elements \ based on the 1st (or only) variable present defined in \ 'Decimal Initialization'" visible = @advt && @advd && @expert endparam complex param exad5 caption = "Frequency 2" default = (1.0,0.0) hint = "Changes the frequency of the texture elements \ based on the 2nd variable (when present) defined in \ 'Decimal Initialization'" visible = @advt && @advd && !(@dec_init == 0 ||@dec_init == 5 || \ @dec_init == 6) && @expert endparam float param dec_size caption = "Decimal Size" default = 1.0 visible = @advt && @advd && @expert endparam param dec_sgn caption = "Apply Decimal Sign?" default = true visible = @advt && @advd && @expert endparam heading caption = "Popgnarl" visible = @advt && @gnarl_amt == 0 && @expert endheading heading caption = "Popgnarl [active]" visible = @advt && @gnarl_amt != 0 && @expert endheading param advpg caption = "Popgnarl Texturing" default = false visible = @advt && @expert endparam float param gnarl_amt caption = "Popgnarl Amount" default = 0.0 min = 0.0 visible = @advt && @advpg && @expert endparam param gnarl_init caption = "Popgnarl Init" enum = "z""real+imag(z)""real-imag(z)""real*imag(z)""imag-real(z)" \ "x""y""x+y""x-y""y-x""x/y""x*y""y/x""x^y""y^x""x+z""x-z""z-x""x*z" \ "x/z""z/x""y+z""y-z""z-y""y*z""y/z""z/y""pixel" default = 0 hint = "Determines which variable(s) initialize(s) the texture" visible = @advt && @advpg && @expert endparam param ztyp3 caption = "Choose z type" enum = "#z""Morph z""Trap z""Trap #z""Trap dist" "Raw dist" default = 2 hint = "Determines which kind of 'z' variable is used in \ 'Popgnarl Initialization' (when z is present). Textures created \ with 'Trap z' conform to the element shapes and change with changes \ in the Morph values, 'Trap #z' textures conform to the element shapes \ but do change. 'Morph z' textures do not conform to element shapes and \ change with Morph values and '#z' textures do not conform and remain \ invariant, as do 'Dist' textures." visible = @advt && @advpg && (@gnarl_init < 5 || @gnarl_init > 14 && \ @gnarl_init < 21) && @expert endparam func fntx6 caption = "Init Function 1" default = ident() hint = "Modifies the 1st variable defined in \ 'Popgnarl Initialization'" visible = @advt && @advpg && @expert endfunc func fntx7 caption = "Init Function 2" default = ident() hint = "Modifies the 2nd variable defined in \ 'Popgnarl Initialization'" visible = @advt && @advpg && @expert endfunc complex param txia3 caption = "Tx Pattern 1" default = (0.0,0.0) visible = @advt && @advpg && (@gnarl_init < 5 || @gnarl_init > 14 && \ @gnarl_init < 21) && @expert endparam complex param txib3 caption = "Tx Pattern 2" default = (1.0,0.0) visible = @advt && @advpg && (@gnarl_init < 5 || @gnarl_init > 14 && \ @gnarl_init < 21) && @expert endparam complex param txic3 caption = "Tx Pattern 3" default = (1.0,0.0) visible = @advt && @advpg && (@gnarl_init < 5 || @gnarl_init > 14 && \ @gnarl_init < 21) && @expert endparam complex param exad6 caption = "Frequency 1" default = (1.0,0.0) hint = "Changes the frequency of the texture by altering the value \ of the 1st (or only) variable defined in 'Popgnarl Initilaization'" visible = @advt && @advpg && @expert endparam complex param exad7 caption = "Frequency 2" default = (1.0,0.0) hint = "Changes the frequency of the texture by altering the value \ of the 2nd variable (when present) defined in 'Popgnarl Initilaization'" visible = @advt && @advpg && !(@gnarl_init == 0 || @gnarl_init == 5 || \ @gnarl_init == 6 || @gnarl_init == 21) && @expert endparam param gnarl_type caption = "Popgnarl Mode" enum = "real" "imag" "real+imag" "real*imag" "real-imag" \ "real/imag" "imag/real" "real^imag" "imag^real" \ "1/real" "1/imag" "angle" "magnitude" "arith. mean" \ "geom. mean" visible = @advt && @advpg && @expert endparam func fng caption = "Mode Function" default = abs() hint = "Acts on the variables in 'Popgnarl Mode'" visible = @advt && @advpg && @gnarl_type < 11 && @expert endfunc param gnarl_scaling caption = "Popgnarl Scaling" enum = "Ceil" "Floor" "Trunc" "Round""All Functions" \ "-Round-Ceil""-Round*Ceil""+Round*Ceil""-Round-Trunc" \ "-Round*Trunc""+Round*Trunc""-Trunc-Floor""-Trunc*Floor" \ "+Trunc*Floor""-Trunc-Ceil""-Trunc*Ceil""+Trunc*Ceil" \ "-Ceil-Floor""-Ceil*Floor""+Ceil*Floor" visible = @advt && @advpg && @expert endparam func fngnarl caption = "Scaling Function" default = atanh () visible = @advt && @advpg && @gnarl_scaling == 4 && @expert endfunc float param gnarl_scale caption = "Scale 1st Variable" default = 1.0 hint = "Changes the value of the 1st (or only) variable \ defined in 'Popgnarl Scaling'" visible = @advt && @advpg && @expert endparam float param gnarl_scale2 caption = "Scale 2nd Variable" default = 1.0 hint = "Changes the value of the 2nd variable \ (when present)defined in 'Popgnarl Scaling'" visible = @advt && @advpg && @gnarl_scaling > 4 && @expert endparam param gnarl_form caption = "Popgnarl Formula" enum = "gnarl" "popcorn" "popsicle" "tannous" "narlog" visible = @advt && @advpg && @expert endparam float param gnarl_limit caption = "Popgnarl Limit" default = 1.0 hint = "Limits the texture depth" min = 0.0 visible = @advt && @advpg && @expert endparam float param gnarl_size caption = "Popgnarl Size" default = 1.0 visible = @advt && @advpg && @expert endparam int param gnarl_octaves caption = "Popgnarl Octaves" default = 5 min = 1 visible = @advt && @advpg && @expert endparam heading caption = "Geometrix" visible = @advt && @trtxt == 0&& @expert endheading heading caption = "Geometrix [active]" visible = @advt && @trtxt != 0 && @expert endheading param advtr caption = "Geometrix Texturing" default = false visible = @advt && @expert endparam float param trtxt caption = "Geometrix Tx Amt" default = 0.0 visible = @advt && @advtr&& @expert endparam param trinit caption = "Geometrix Init" enum = "z""real+imag(z)""real-imag(z)""real*imag(z)""imag-real(z)" \ "x""y""x+y""x-y""y-x""x/y""x*y""y/x""x^y""y^x""x+z""x-z""z-x""x*z" \ "x/z""z/x""y+z""y-z""z-y""y*z""y/z""z/y" hint = "Determines which variable(s) initialize(s) the texture" default = 0 visible = @advt && @advtr&& @expert endparam param ztyp5 caption = "Choose z type" enum = "#z""Morph z""Trap z""Trap #z""Trap dist" "Raw dist" default = 2 hint = "Determines which kind of 'z' variable is used in \ 'Geometrix Initialization' (when z is present). Textures created \ with 'Trap z' conform to the element shapes and change with changes \ in the Morph values, 'Trap #z' textures conform to the element shapes \ but do change. 'Morph z' textures do not conform to element shapes and \ change with Morph values and '#z' textures do not conform and remain \ invariant. 'Dist' needs a high value and may require adjustment \ of the gradient. It tends to produce border and shading effects rather \ than textures per se." visible = @advt && @advtr && (@trinit < 5 || @trinit > 14 && @trinit < 21)&& @expert endparam func fntx10 caption = "Init Function 1" default = ident() hint = "Modifies the 1st variable defined in \ 'Geometrix Initialization'" visible = @advt && @advtr && @expert endfunc func fntx11 caption = "Init Function 2" default = ident() hint = "Modifies the 2nd variable defined in \ 'Geometrix Initialization'" visible = @advt && @advtr && @expert endfunc complex param trxia caption = "Pattern 1" default = (0.0,0.0) visible = @advt && @advtr && (@trinit < 5 || @trinit > 14 && @trinit < 21)&& @expert endparam complex param trxib caption = "Pattern 2" default = (1.0,0.0) visible = @advt && @advtr && (@trinit < 5 || @trinit > 14 && @trinit < 21)&& @expert endparam complex param trxic caption = "Pattern 3" default = (1.0,0.0) visible = @advt && @advtr && (@trinit < 5 || @trinit > 14 && @trinit < 21)&& @expert endparam complex param exad10 caption = "Frequency 1" default = (1.0,0.0) hint = "Changes the pattern frequency by acting on the 1st (or only) \ variable defined in 'Geometrix Initialization'" visible = @advt && @advtr&& @expert endparam complex param exad11 caption = "Frequency 2" default = (1.0,0.0) hint = "Changes the pattern frequency by acting on the 2nd variable \ (when present) defined in 'Geometrix Initialization'" visible = @advt && @advtr && !(@trinit == 0 ||@trinit == 5 || @trinit == 6 ||\ @trinit == 21)&& @expert endparam float param exp caption = "Contrast" default = 0.6 visible = @advt && @advtr && @expert hint = "Higher values intensify the contrast between texture sections. If \ you find burned-out areas of texture try lowering this value" endparam float param scc caption = "Density" default = 1.0 hint = "Higher values create finer detail in the texture" visible = @advt && @advtr && @expert endparam float param trp1 caption = "Scale" default = 1 visible = @advt && @advtr&& @expert hint = "Densest texture is at '1'. Try other values and increase the \ 'Density' value to achieve different texture patterns" endparam float param freq caption = "Definition 1" default = 10 visible = @advt && @advtr && @expert hint = "Works interactively with other 'Definition' params. Higher values \ yield more texture definition and/or complexity" endparam float param trp2 caption = "Definition 2" default = .7 hint = "Works interactively with other 'Definition' params. Lower values \ yield more texture definition" visible = @advt && @advtr&& @expert endparam float param trp3 caption = "Definition 3" default = .7 hint = "Works interactively with other 'Definition' params. Higher values \ yield more texture definition" visible = @advt && @advtr && @expert endparam float param shad1 caption = "Shading 1" default = 1 hint = "Affects the shading of certain areas of texture" visible = @advt && @advtr&& @expert endparam float param shad2 caption = "Shading 2" default = 1 hint = "Affects the shading of certain areas of texture" visible = @advt && @advtr&& @expert endparam float param shad3 caption = "Shading 3" default = 1 hint = "Affects the shading of certain areas of texture" visible = @advt && @advtr&& @expert endparam float param shad4 caption = "Shading 4" default = 1 hint = "Affects the shading of certain areas of texture" visible = @advt && @advtr&& @expert endparam func fnzr caption = "Z function 1" default = ident() visible = @advt && @advtr && @expert endfunc func fnzi caption = "Z function 2" default = ident() visible = @advt && @advtr && @expert endfunc func fn1tx caption = "Real function" default = sqrt() visible = @advt && @advtr && @expert endfunc func fn2tx caption = "Imag function" default = ident() visible = @advt && @advtr&& @expert endfunc func fn3tx caption = "Overall function" default = asin() visible = @advt && @adv