Commits

Olemis Lang  committed 15afd5b

[IMO] Adding .euk files et al. for IMO-2007-P2-P4, IMO-2011-P6, IMO-2012-P1

  • Participants

Comments (0)

Files changed (26)

File IMO/2007/imo2k7p2.euk

+
+A B C D parallelogram
+
+locus E(t = 0.1 to 0.9 step 20)
+  F = barycenter(C, t, D, 1 - t)
+  l = line(A, F)
+  G = intersection(l, line(B, C))
+  put center(circle(C, F, G))
+end

File IMO/2007/imo2k7p4.euk

+A B C triangle
+b = bisector(A, C, B)
+c = circle(A, B, C)
+K = midpoint(segment(B, C))
+L = midpoint(segment(A, C))
+O = center(c)
+P = intersection(b, line(K, O))
+Q = intersection(b, line(L, O))
+C R intersection(b, c)
+
+frame(-4, -4, 8, 6)
+
+draw(A, B, C)
+draw(segment(C, R))
+draw(segment(O, K))
+draw(segment(O, L))
+draw(segment(R, L))
+draw(segment(R, K))
+draw(c)
+draw(segment(O, Q))
+draw(segment(O, P))
+
+draw("$A$", A, -130:)
+draw("$B$", B, -50:)
+draw("$C$", C, 130:)
+draw("$O$", O, -50:)
+draw("$P$", P, 0.1, -160:)
+draw("$Q$", Q, 0.1, 50:)
+draw("$R$", R, -130:)
+draw("$K$", K, 50:)
+draw("$L$", L, 130:)
+
+mark(A, C, R)
+mark(R, C, B)
+

File IMO/2007/imo2k7p4.png

Added
New image

File IMO/2007/imo2k7p4.ps

+%!PS-Adobe-3.0
+%%Title: flattened PostScript generated from file: imo2k7p4.pdf
+%%Creator: pstoedit
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%EndComments
+%%BeginProlog
+/setPageSize { pop pop } def
+/ntranslate { neg exch neg exch translate } def
+/setshowparams { pop pop pop} def
+/awidthshowhex { dup length 0 gt { dup /ASCIIHexDecode filter exch length 2 div cvi string readstring pop } if awidthshow } def
+/awidthshowhexwithglyphs { true { pop awidthshowhex } { { glyphshow } forall pop } ifelse } def
+/backendconstraints { pop pop } def
+/pstoedit.newfont { 80 string cvs  findfont  dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall  /Encoding ISOLatin1Encoding def   dup 80 string cvs /FontName exch def  currentdict end  definefont pop } def
+/imagestring 1 string def
+%%EndProlog
+%%BeginSetup
+% textastext doflatten backendconstraints   
+1 0 backendconstraints
+%%EndSetup
+%%Page: 1 1
+save %{
+save %{
+gsave %{
+ gsave %{
+ gsave %{
+  
+ 
+% 1                   pathnumber
+% clippath
+ 612 792 setPageSize
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.1 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 69.0117 436.559 moveto
+ 69.0117 436.559 lineto
+ 69.0117 436.559 lineto
+ 69.0117 436.559 lineto
+ closepath
+clip
+gsave %{
+  0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 340.2 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+%Warning: Level 2 version of image and imagemask not supported for this backend (due to lack of support for bitmaps on intermediate files)
+grestore %}
+ grestore %}
+ gsave %{
+  
+ 
+% 2                   pathnumber
+% clippath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.1 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 72.0 436.559 moveto
+ 72.0 720.023 lineto
+ 412.156 720.023 lineto
+ 412.156 436.559 lineto
+ closepath
+clip
+ 
+ 
+% 3                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 217.289 602.035 moveto
+ 185.398 549.961 lineto
+ 355.48 549.961 lineto
+ 249.18 654.109 lineto
+ closepath
+stroke
+ 
+ 
+% 4                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 249.18 654.109 moveto
+ 270.438 482.234 lineto
+stroke
+ 
+ 
+% 5                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 569.488 moveto
+ 302.328 602.035 lineto
+stroke
+ 
+ 
+% 6                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 569.488 moveto
+ 217.289 602.035 lineto
+stroke
+ 
+ 
+% 7                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 482.234 moveto
+ 217.289 602.035 lineto
+stroke
+ 
+ 
+% 8                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 482.234 moveto
+ 302.328 602.035 lineto
+stroke
+ 
+ 
+% 9                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 357.441 569.488 moveto
+ 357.441 617.539 318.488 656.492 270.438 656.492 curveto
+ 222.391 656.492 183.438 617.539 183.438 569.488 curveto
+ 183.438 521.438 222.391 482.484 270.438 482.484 curveto
+ 318.488 482.484 357.441 521.438 357.441 569.488 curveto
+ closepath
+stroke
+ 
+ 
+% 10                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 569.488 moveto
+ 258.766 576.641 lineto
+stroke
+ 
+ 
+% 11                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 270.438 569.488 moveto
+ 260.855 559.707 lineto
+stroke
+gsave %{
+ (UAJDUG+CMMI10) cvn /UAJDUG+CMMI10 pstoedit.newfont
+ 
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 12                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 174.785 537.145 moveto
+ 174.387 536.477 173.996 536.34 173.559 536.309 curveto
+ 173.438 536.301 173.348 536.301 173.348 536.109 curveto
+ 173.348 536.051 173.398 536.0 173.477 536.0 curveto
+ 173.746 536.0 174.055 536.031 174.336 536.031 curveto
+ 174.664 536.031 175.012 536.0 175.332 536.0 curveto
+ 175.391 536.0 175.52 536.0 175.52 536.188 curveto
+ 175.52 536.301 175.43 536.309 175.359 536.309 curveto
+ 175.133 536.328 174.895 536.41 174.895 536.656 curveto
+ 174.895 536.777 174.953 536.887 175.031 537.027 curveto
+ 175.102 537.145 175.113 537.145 175.789 538.301 curveto
+ 178.289 538.301 lineto
+ 178.309 538.094 178.449 536.738 178.449 536.637 curveto
+ 178.449 536.34 177.93 536.309 177.73 536.309 curveto
+ 177.594 536.309 177.492 536.309 177.492 536.109 curveto
+ 177.492 536.0 177.613 536.0 177.633 536.0 curveto
+ 178.043 536.0 178.469 536.031 178.879 536.031 curveto
+ 179.129 536.031 179.754 536.0 180.004 536.0 curveto
+ 180.062 536.0 180.184 536.0 180.184 536.199 curveto
+ 180.184 536.309 180.082 536.309 179.953 536.309 curveto
+ 179.336 536.309 179.336 536.379 179.305 536.668 curveto
+ 178.699 542.895 lineto
+ 178.68 543.094 178.68 543.133 178.508 543.133 curveto
+ 178.352 543.133 178.309 543.062 178.25 542.965 curveto
+ closepath
+ 175.98 538.609 moveto
+ 177.941 541.898 lineto
+ 178.262 538.609 lineto
+ closepath
+ 180.309 536.273 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 13                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 361.594 536.777 moveto
+ 361.496 536.387 361.473 536.309 360.688 536.309 curveto
+ 360.52 536.309 360.418 536.309 360.418 536.109 curveto
+ 360.418 536.0 360.508 536.0 360.688 536.0 curveto
+ 364.242 536.0 lineto
+ 365.816 536.0 366.992 537.176 366.992 538.152 curveto
+ 366.992 538.871 366.414 539.445 365.449 539.559 curveto
+ 366.484 539.746 367.531 540.484 367.531 541.43 curveto
+ 367.531 542.168 366.875 542.805 365.68 542.805 curveto
+ 362.332 542.805 lineto
+ 362.141 542.805 362.043 542.805 362.043 542.605 curveto
+ 362.043 542.496 362.133 542.496 362.32 542.496 curveto
+ 362.34 542.496 362.531 542.496 362.699 542.477 curveto
+ 362.879 542.457 362.969 542.445 362.969 542.316 curveto
+ 362.969 542.277 362.957 542.246 362.93 542.129 curveto
+ closepath
+ 363.098 539.645 moveto
+ 363.715 542.117 lineto
+ 363.805 542.465 363.824 542.496 364.254 542.496 curveto
+ 365.539 542.496 lineto
+ 366.414 542.496 366.625 541.906 366.625 541.469 curveto
+ 366.625 540.594 365.77 539.645 364.555 539.645 curveto
+ closepath
+ 362.648 536.309 moveto
+ 362.512 536.309 362.492 536.309 362.43 536.32 curveto
+ 362.332 536.328 362.301 536.34 362.301 536.418 curveto
+ 362.301 536.449 362.301 536.469 362.352 536.648 curveto
+ 363.039 539.426 lineto
+ 364.922 539.426 lineto
+ 365.879 539.426 366.066 538.691 366.066 538.262 curveto
+ 366.066 537.273 365.18 536.309 364.004 536.309 curveto
+ closepath
+ 368.023 536.254 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 14                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 243.57 667.926 moveto
+ 243.57 667.953 243.551 668.023 243.461 668.023 curveto
+ 243.434 668.023 243.422 668.016 243.312 667.902 curveto
+ 242.613 667.137 lineto
+ 242.527 667.277 242.066 668.023 240.961 668.023 curveto
+ 238.738 668.023 236.5 665.82 236.5 663.512 curveto
+ 236.5 661.867 237.672 660.781 239.199 660.781 curveto
+ 240.066 660.781 240.82 661.18 241.352 661.637 curveto
+ 242.277 662.453 242.445 663.359 242.445 663.391 curveto
+ 242.445 663.492 242.348 663.492 242.328 663.492 curveto
+ 242.266 663.492 242.215 663.473 242.195 663.391 curveto
+ 242.105 663.102 241.879 662.395 241.191 661.816 curveto
+ 240.504 661.258 239.875 661.09 239.355 661.09 curveto
+ 238.461 661.09 237.406 661.609 237.406 663.16 curveto
+ 237.406 663.73 237.613 665.344 238.609 666.508 curveto
+ 239.219 667.215 240.156 667.715 241.043 667.715 curveto
+ 242.059 667.715 242.645 666.949 242.645 665.793 curveto
+ 242.645 665.395 242.613 665.383 242.613 665.285 curveto
+ 242.613 665.184 242.727 665.184 242.766 665.184 curveto
+ 242.895 665.184 242.895 665.203 242.945 665.383 curveto
+ closepath
+ 243.277 660.859 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 15                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 283.371 560.344 moveto
+ 283.371 561.949 282.316 563.023 280.832 563.023 curveto
+ 278.68 563.023 276.488 560.762 276.488 558.441 curveto
+ 276.488 556.785 277.605 555.781 279.039 555.781 curveto
+ 281.152 555.781 283.371 557.961 283.371 560.344 curveto
+ closepath
+ 279.098 556.039 moveto
+ 278.113 556.039 277.414 556.848 277.414 558.16 curveto
+ 277.414 558.602 277.555 560.055 278.32 561.219 curveto
+ 279.008 562.258 279.984 562.773 280.773 562.773 curveto
+ 281.59 562.773 282.484 562.215 282.484 560.73 curveto
+ 282.484 560.016 282.215 558.461 281.23 557.234 curveto
+ 280.754 556.629 279.934 556.039 279.098 556.039 curveto
+ closepath
+ 283.141 555.82 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 16                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 253.02 557.148 moveto
+ 254.711 557.148 lineto
+ 256.129 557.148 257.512 558.184 257.512 559.301 curveto
+ 257.512 560.066 256.855 560.805 255.551 560.805 curveto
+ 252.32 560.805 lineto
+ 252.133 560.805 252.023 560.805 252.023 560.613 curveto
+ 252.023 560.496 252.113 560.496 252.312 560.496 curveto
+ 252.441 560.496 252.621 560.484 252.738 560.477 curveto
+ 252.898 560.457 252.957 560.426 252.957 560.316 curveto
+ 252.957 560.277 252.949 560.246 252.918 560.129 curveto
+ 251.586 554.777 lineto
+ 251.484 554.387 251.465 554.309 250.676 554.309 curveto
+ 250.508 554.309 250.398 554.309 250.398 554.121 curveto
+ 250.398 554.0 250.52 554.0 250.547 554.0 curveto
+ 250.828 554.0 251.535 554.031 251.812 554.031 curveto
+ 252.023 554.031 252.242 554.02 252.449 554.02 curveto
+ 252.672 554.02 252.891 554.0 253.098 554.0 curveto
+ 253.168 554.0 253.297 554.0 253.297 554.199 curveto
+ 253.297 554.309 253.207 554.309 253.02 554.309 curveto
+ 252.648 554.309 252.371 554.309 252.371 554.488 curveto
+ 252.371 554.547 252.391 554.598 252.402 554.656 curveto
+ closepath
+ 253.734 560.117 moveto
+ 253.824 560.465 253.844 560.496 254.273 560.496 curveto
+ 255.23 560.496 lineto
+ 256.059 560.496 256.586 560.227 256.586 559.539 curveto
+ 256.586 559.152 256.387 558.293 255.996 557.934 curveto
+ 255.5 557.488 254.902 557.406 254.465 557.406 curveto
+ 253.059 557.406 lineto
+ closepath
+ 256.711 554.051 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 17                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 264.363 581.059 moveto
+ 265.906 581.648 267.371 583.422 267.371 585.344 curveto
+ 267.371 586.949 266.316 588.023 264.832 588.023 curveto
+ 262.68 588.023 260.488 585.762 260.488 583.441 curveto
+ 260.488 581.785 261.605 580.781 263.039 580.781 curveto
+ 263.289 580.781 263.625 580.82 264.016 580.93 curveto
+ 263.977 580.312 263.977 580.293 263.977 580.164 curveto
+ 263.977 579.844 263.977 579.066 264.801 579.066 curveto
+ 265.988 579.066 266.465 580.891 266.465 581.0 curveto
+ 266.465 581.07 266.395 581.102 266.355 581.102 curveto
+ 266.277 581.102 266.258 581.051 266.238 580.988 curveto
+ 265.996 580.281 265.418 580.035 265.07 580.035 curveto
+ 264.613 580.035 264.465 580.301 264.363 581.059 curveto
+ closepath
+ 262.48 581.141 moveto
+ 261.703 581.449 261.363 582.227 261.363 583.121 curveto
+ 261.363 583.809 261.625 585.223 262.383 586.301 curveto
+ 263.109 587.316 264.043 587.773 264.773 587.773 curveto
+ 265.77 587.773 266.496 586.996 266.496 585.664 curveto
+ 266.496 584.668 265.988 582.336 264.312 581.398 curveto
+ 264.266 581.746 264.164 582.473 263.438 582.473 curveto
+ 262.91 582.473 262.422 581.977 262.422 581.457 curveto
+ 262.422 581.258 262.48 581.148 262.48 581.141 curveto
+ closepath
+ 263.098 581.031 moveto
+ 262.957 581.031 262.641 581.031 262.641 581.457 curveto
+ 262.641 581.855 263.02 582.254 263.438 582.254 curveto
+ 263.855 582.254 264.043 582.016 264.043 581.41 curveto
+ 264.043 581.258 264.035 581.25 263.934 581.211 curveto
+ 263.676 581.102 263.379 581.031 263.098 581.031 curveto
+ closepath
+ 268.0 581.023 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 18                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 261.734 475.117 moveto
+ 261.797 475.355 261.824 475.457 262.016 475.484 curveto
+ 262.105 475.496 262.422 475.496 262.621 475.496 curveto
+ 263.328 475.496 264.438 475.496 264.438 474.508 curveto
+ 264.438 474.172 264.277 473.484 263.887 473.094 curveto
+ 263.629 472.836 263.102 472.516 262.203 472.516 curveto
+ 261.09 472.516 lineto
+ closepath
+ 263.172 472.387 moveto
+ 264.176 472.605 265.363 473.305 265.363 474.309 curveto
+ 265.363 475.168 264.465 475.805 263.16 475.805 curveto
+ 260.32 475.805 lineto
+ 260.121 475.805 260.031 475.805 260.031 475.605 curveto
+ 260.031 475.496 260.121 475.496 260.312 475.496 curveto
+ 260.332 475.496 260.52 475.496 260.691 475.477 curveto
+ 260.871 475.457 260.957 475.445 260.957 475.316 curveto
+ 260.957 475.277 260.949 475.246 260.918 475.129 curveto
+ 259.586 469.777 lineto
+ 259.484 469.387 259.465 469.309 258.676 469.309 curveto
+ 258.5 469.309 258.41 469.309 258.41 469.109 curveto
+ 258.41 469.0 258.527 469.0 258.547 469.0 curveto
+ 258.828 469.0 259.523 469.031 259.805 469.031 curveto
+ 260.082 469.031 260.789 469.0 261.07 469.0 curveto
+ 261.148 469.0 261.27 469.0 261.27 469.199 curveto
+ 261.27 469.309 261.18 469.309 260.988 469.309 curveto
+ 260.621 469.309 260.34 469.309 260.34 469.488 curveto
+ 260.34 469.547 260.359 469.598 260.371 469.656 curveto
+ 261.027 472.297 lineto
+ 262.215 472.297 lineto
+ 263.121 472.297 263.301 471.738 263.301 471.391 curveto
+ 263.301 471.242 263.219 470.934 263.16 470.703 curveto
+ 263.09 470.426 263.0 470.055 263.0 469.855 curveto
+ 263.0 468.781 264.195 468.781 264.328 468.781 curveto
+ 265.172 468.781 265.523 469.785 265.523 469.926 curveto
+ 265.523 470.047 265.414 470.047 265.402 470.047 curveto
+ 265.312 470.047 265.293 469.977 265.273 469.906 curveto
+ 265.023 469.168 264.594 469.0 264.367 469.0 curveto
+ 264.039 469.0 263.969 469.219 263.969 469.609 curveto
+ 263.969 469.918 264.027 470.426 264.066 470.742 curveto
+ 264.086 470.883 264.105 471.07 264.105 471.211 curveto
+ 264.105 471.98 263.441 472.289 263.172 472.387 curveto
+ closepath
+ 265.281 468.59 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 19                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 312.07 613.023 moveto
+ 312.062 613.055 312.02 613.133 312.02 613.164 curveto
+ 312.02 613.176 312.199 613.312 312.309 613.395 curveto
+ 314.055 614.738 lineto
+ 314.988 615.426 315.379 615.465 315.676 615.496 curveto
+ 315.758 615.504 315.855 615.516 315.855 615.695 curveto
+ 315.855 615.734 315.828 615.805 315.746 615.805 curveto
+ 315.527 615.805 315.277 615.773 315.039 615.773 curveto
+ 314.68 615.773 314.293 615.805 313.934 615.805 curveto
+ 313.863 615.805 313.746 615.805 313.746 615.605 curveto
+ 313.746 615.535 313.793 615.504 313.863 615.496 curveto
+ 314.082 615.477 314.172 615.426 314.172 615.285 curveto
+ 314.172 615.105 313.875 614.879 313.812 614.828 curveto
+ 309.93 611.84 lineto
+ 310.727 615.039 lineto
+ 310.816 615.395 310.836 615.496 311.562 615.496 curveto
+ 311.812 615.496 311.902 615.496 311.902 615.695 curveto
+ 311.902 615.785 311.82 615.805 311.762 615.805 curveto
+ 311.484 615.805 310.766 615.773 310.488 615.773 curveto
+ 310.199 615.773 309.492 615.805 309.203 615.805 curveto
+ 309.133 615.805 309.004 615.805 309.004 615.613 curveto
+ 309.004 615.496 309.094 615.496 309.293 615.496 curveto
+ 309.422 615.496 309.602 615.484 309.719 615.477 curveto
+ 309.879 615.457 309.938 615.426 309.938 615.316 curveto
+ 309.938 615.277 309.93 615.246 309.898 615.129 curveto
+ 308.562 609.777 lineto
+ 308.465 609.387 308.445 609.309 307.656 609.309 curveto
+ 307.488 609.309 307.379 609.309 307.379 609.121 curveto
+ 307.379 609.0 307.5 609.0 307.527 609.0 curveto
+ 307.809 609.0 308.516 609.031 308.793 609.031 curveto
+ 309.004 609.031 309.223 609.02 309.43 609.02 curveto
+ 309.648 609.02 309.871 609.0 310.078 609.0 curveto
+ 310.148 609.0 310.277 609.0 310.277 609.199 curveto
+ 310.277 609.309 310.188 609.309 310.0 609.309 curveto
+ 309.629 609.309 309.352 609.309 309.352 609.488 curveto
+ 309.352 609.559 309.41 609.777 309.441 609.926 curveto
+ 309.582 610.445 309.711 610.973 309.84 611.492 curveto
+ 311.324 612.645 lineto
+ 311.582 612.047 312.23 610.562 312.48 609.965 curveto
+ 312.598 609.699 312.598 609.676 312.598 609.617 curveto
+ 312.598 609.32 312.172 609.309 312.082 609.309 curveto
+ 311.973 609.309 311.863 609.309 311.863 609.109 curveto
+ 311.863 609.0 311.98 609.0 312.0 609.0 curveto
+ 312.398 609.0 312.816 609.031 313.215 609.031 curveto
+ 313.438 609.031 313.973 609.0 314.191 609.0 curveto
+ 314.242 609.0 314.371 609.0 314.371 609.199 curveto
+ 314.371 609.309 314.262 609.309 314.172 609.309 curveto
+ 313.766 609.32 313.637 609.41 313.484 609.758 curveto
+ closepath
+ 315.785 608.828 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 20                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 208.727 615.027 moveto
+ 208.816 615.387 208.844 615.496 209.781 615.496 curveto
+ 210.082 615.496 210.16 615.496 210.16 615.684 curveto
+ 210.16 615.805 210.051 615.805 210.0 615.805 curveto
+ 209.672 615.805 208.855 615.773 208.527 615.773 curveto
+ 208.227 615.773 207.5 615.805 207.203 615.805 curveto
+ 207.133 615.805 207.012 615.805 207.012 615.605 curveto
+ 207.012 615.496 207.102 615.496 207.293 615.496 curveto
+ 207.312 615.496 207.5 615.496 207.672 615.477 curveto
+ 207.848 615.457 207.938 615.445 207.938 615.316 curveto
+ 207.938 615.277 207.93 615.246 207.898 615.129 curveto
+ 206.562 609.777 lineto
+ 206.465 609.387 206.445 609.309 205.656 609.309 curveto
+ 205.488 609.309 205.387 609.309 205.387 609.109 curveto
+ 205.387 609.0 205.477 609.0 205.656 609.0 curveto
+ 210.27 609.0 lineto
+ 210.508 609.0 210.52 609.0 210.578 609.168 curveto
+ 211.367 611.32 lineto
+ 211.406 611.43 211.406 611.449 211.406 611.461 curveto
+ 211.406 611.5 211.375 611.57 211.285 611.57 curveto
+ 211.195 611.57 211.188 611.52 211.117 611.359 curveto
+ 210.777 610.445 210.34 609.309 208.617 609.309 curveto
+ 207.68 609.309 lineto
+ 207.539 609.309 207.52 609.309 207.461 609.32 curveto
+ 207.359 609.328 207.332 609.34 207.332 609.418 curveto
+ 207.332 609.449 207.332 609.469 207.383 609.648 curveto
+ closepath
+ 212.211 608.738 moveto
+eofill
+gsave %{
+ grestore %}
+ grestore %}
+  
+ 
+% 21                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 241.777 642.023 moveto
+ 244.004 640.66 246.566 639.938 249.18 639.938 curveto
+ 249.762 639.938 250.344 639.973 250.922 640.043 curveto
+stroke
+ 
+ 
+% 22                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 250.922 640.043 moveto
+ 254.102 640.438 257.059 641.898 259.305 644.191 curveto
+stroke
+grestore %}
+ grestore %}
+ grestore %}
+ showpage
+%%BoundingBox: 69 436 412 720 
+%%Page: 1 1
+restore %}
+restore %}
+restore %}
+restore %}
+showpage
+%%BoundingBox: 999999 999999 0 0 
+%%Page: 2 2
+% normal end reached by pstoedit.pro
+%%Trailer
+%%Pages: 2
+%%EOF

File IMO/2007/imo2k7p4.svg

Added
New image

File IMO/2007/imo2k7p4_1.euk

Binary file added.

File IMO/2007/imo2k7p4_blog.euk

+
+A B C triangle
+
+l = bisector(B, C, A)
+c = circle(A, B, C)
+C R intersection(l, c)
+P = intersection(l, perpendicular(segment(B, C), midpoint(segment(B, C)) ))
+Q = intersection(l, perpendicular(segment(A, C), midpoint(segment(A, C)) ))
+K = midpoint(segment(B, C))
+L = midpoint(segment(A, C))
+
+frame(-4, -4, 8, 6)
+
+draw(A, B, C)
+draw(l)
+draw(c)
+draw(segment(K, P), dashed)
+draw(segment(L, Q), dashed)
+draw(segment(K, R), dashed)
+draw(segment(L, R), dashed)
+
+draw("$A$", A, -130:)
+draw("$B$", B, -50:)
+draw("$C$", C, 130:)
+draw("$P$", P, 0.1, -160:)
+draw("$Q$", Q, 0.1, 50:)
+draw("$R$", R, -130:)
+draw("$K$", K, 50:)
+draw("$L$", L, 130:)
+
+color(gray)
+mark(A, C, R)
+mark(R, C, B)
+

File IMO/2007/imo2k7p4_blog.png

Added
New image

File IMO/2007/imo2k7p4_blog.ps

+%!PS-Adobe-3.0
+%%Title: flattened PostScript generated from file: imo2k7p4_blog.pdf
+%%Creator: pstoedit
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%EndComments
+%%BeginProlog
+/setPageSize { pop pop } def
+/ntranslate { neg exch neg exch translate } def
+/setshowparams { pop pop pop} def
+/awidthshowhex { dup length 0 gt { dup /ASCIIHexDecode filter exch length 2 div cvi string readstring pop } if awidthshow } def
+/awidthshowhexwithglyphs { true { pop awidthshowhex } { { glyphshow } forall pop } ifelse } def
+/backendconstraints { pop pop } def
+/pstoedit.newfont { 80 string cvs  findfont  dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall  /Encoding ISOLatin1Encoding def   dup 80 string cvs /FontName exch def  currentdict end  definefont pop } def
+/imagestring 1 string def
+%%EndProlog
+%%BeginSetup
+% textastext doflatten backendconstraints   
+1 0 backendconstraints
+%%EndSetup
+%%Page: 1 1
+save %{
+save %{
+gsave %{
+ gsave %{
+ gsave %{
+  
+ 
+% 1                   pathnumber
+% clippath
+ 612 792 setPageSize
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.1 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 69.0117 436.559 moveto
+ 69.0117 436.559 lineto
+ 69.0117 436.559 lineto
+ 69.0117 436.559 lineto
+ closepath
+clip
+gsave %{
+  0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 340.2 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+%Warning: Level 2 version of image and imagemask not supported for this backend (due to lack of support for bitmaps on intermediate files)
+grestore %}
+ grestore %}
+ gsave %{
+  
+ 
+% 2                   pathnumber
+% clippath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.1 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 72.0 436.559 moveto
+ 72.0 720.023 lineto
+ 412.156 720.023 lineto
+ 412.156 436.559 lineto
+ closepath
+clip
+ 
+ 
+% 3                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 217.289 602.035 moveto
+ 185.398 549.961 lineto
+ 355.48 549.961 lineto
+ 249.18 654.109 lineto
+ closepath
+stroke
+ 
+ 
+% 4                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 276.086 436.574 moveto
+ 241.023 720.039 lineto
+stroke
+ 
+ 
+% 5                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 357.441 569.488 moveto
+ 357.441 617.539 318.488 656.492 270.438 656.492 curveto
+ 222.391 656.492 183.438 617.539 183.438 569.488 curveto
+ 183.438 521.438 222.391 482.484 270.438 482.484 curveto
+ 318.488 482.484 357.441 521.438 357.441 569.488 curveto
+ closepath
+stroke
+ 
+ 
+% 6                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 4.85729 2.91437 0.0 0.0 ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 302.328 602.035 moveto
+ 260.855 559.707 lineto
+stroke
+ 
+ 
+% 7                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 5.4035 3.2421 0.0 0.0 ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 217.289 602.035 moveto
+ 258.766 576.641 lineto
+stroke
+ 
+ 
+% 8                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 4.9589 2.97534 0.0 0.0 ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 302.328 602.035 moveto
+ 270.438 482.234 lineto
+stroke
+ 
+ 
+% 9                   pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 4.92712 2.95627 0.0 0.0 ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 217.289 602.035 moveto
+ 270.438 482.234 lineto
+stroke
+gsave %{
+ (WVMNER+CMMI10) cvn /WVMNER+CMMI10 pstoedit.newfont
+ 
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 10                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 174.785 537.145 moveto
+ 174.387 536.477 173.996 536.34 173.559 536.309 curveto
+ 173.438 536.301 173.348 536.301 173.348 536.109 curveto
+ 173.348 536.051 173.398 536.0 173.477 536.0 curveto
+ 173.746 536.0 174.055 536.031 174.336 536.031 curveto
+ 174.664 536.031 175.012 536.0 175.332 536.0 curveto
+ 175.391 536.0 175.52 536.0 175.52 536.188 curveto
+ 175.52 536.301 175.43 536.309 175.359 536.309 curveto
+ 175.133 536.328 174.895 536.41 174.895 536.656 curveto
+ 174.895 536.777 174.953 536.887 175.031 537.027 curveto
+ 175.102 537.145 175.113 537.145 175.789 538.301 curveto
+ 178.289 538.301 lineto
+ 178.309 538.094 178.449 536.738 178.449 536.637 curveto
+ 178.449 536.34 177.93 536.309 177.73 536.309 curveto
+ 177.594 536.309 177.492 536.309 177.492 536.109 curveto
+ 177.492 536.0 177.613 536.0 177.633 536.0 curveto
+ 178.043 536.0 178.469 536.031 178.879 536.031 curveto
+ 179.129 536.031 179.754 536.0 180.004 536.0 curveto
+ 180.062 536.0 180.184 536.0 180.184 536.199 curveto
+ 180.184 536.309 180.082 536.309 179.953 536.309 curveto
+ 179.336 536.309 179.336 536.379 179.305 536.668 curveto
+ 178.699 542.895 lineto
+ 178.68 543.094 178.68 543.133 178.508 543.133 curveto
+ 178.352 543.133 178.309 543.062 178.25 542.965 curveto
+ closepath
+ 175.98 538.609 moveto
+ 177.941 541.898 lineto
+ 178.262 538.609 lineto
+ closepath
+ 180.309 536.273 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 11                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 361.594 536.777 moveto
+ 361.496 536.387 361.473 536.309 360.688 536.309 curveto
+ 360.52 536.309 360.418 536.309 360.418 536.109 curveto
+ 360.418 536.0 360.508 536.0 360.688 536.0 curveto
+ 364.242 536.0 lineto
+ 365.816 536.0 366.992 537.176 366.992 538.152 curveto
+ 366.992 538.871 366.414 539.445 365.449 539.559 curveto
+ 366.484 539.746 367.531 540.484 367.531 541.43 curveto
+ 367.531 542.168 366.875 542.805 365.68 542.805 curveto
+ 362.332 542.805 lineto
+ 362.141 542.805 362.043 542.805 362.043 542.605 curveto
+ 362.043 542.496 362.133 542.496 362.32 542.496 curveto
+ 362.34 542.496 362.531 542.496 362.699 542.477 curveto
+ 362.879 542.457 362.969 542.445 362.969 542.316 curveto
+ 362.969 542.277 362.957 542.246 362.93 542.129 curveto
+ closepath
+ 363.098 539.645 moveto
+ 363.715 542.117 lineto
+ 363.805 542.465 363.824 542.496 364.254 542.496 curveto
+ 365.539 542.496 lineto
+ 366.414 542.496 366.625 541.906 366.625 541.469 curveto
+ 366.625 540.594 365.77 539.645 364.555 539.645 curveto
+ closepath
+ 362.648 536.309 moveto
+ 362.512 536.309 362.492 536.309 362.43 536.32 curveto
+ 362.332 536.328 362.301 536.34 362.301 536.418 curveto
+ 362.301 536.449 362.301 536.469 362.352 536.648 curveto
+ 363.039 539.426 lineto
+ 364.922 539.426 lineto
+ 365.879 539.426 366.066 538.691 366.066 538.262 curveto
+ 366.066 537.273 365.18 536.309 364.004 536.309 curveto
+ closepath
+ 368.023 536.254 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 12                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 243.57 667.926 moveto
+ 243.57 667.953 243.551 668.023 243.461 668.023 curveto
+ 243.434 668.023 243.422 668.016 243.312 667.902 curveto
+ 242.613 667.137 lineto
+ 242.527 667.277 242.066 668.023 240.961 668.023 curveto
+ 238.738 668.023 236.5 665.82 236.5 663.512 curveto
+ 236.5 661.867 237.672 660.781 239.199 660.781 curveto
+ 240.066 660.781 240.82 661.18 241.352 661.637 curveto
+ 242.277 662.453 242.445 663.359 242.445 663.391 curveto
+ 242.445 663.492 242.348 663.492 242.328 663.492 curveto
+ 242.266 663.492 242.215 663.473 242.195 663.391 curveto
+ 242.105 663.102 241.879 662.395 241.191 661.816 curveto
+ 240.504 661.258 239.875 661.09 239.355 661.09 curveto
+ 238.461 661.09 237.406 661.609 237.406 663.16 curveto
+ 237.406 663.73 237.613 665.344 238.609 666.508 curveto
+ 239.219 667.215 240.156 667.715 241.043 667.715 curveto
+ 242.059 667.715 242.645 666.949 242.645 665.793 curveto
+ 242.645 665.395 242.613 665.383 242.613 665.285 curveto
+ 242.613 665.184 242.727 665.184 242.766 665.184 curveto
+ 242.895 665.184 242.895 665.203 242.945 665.383 curveto
+ closepath
+ 243.277 660.859 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 13                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 253.02 557.148 moveto
+ 254.711 557.148 lineto
+ 256.129 557.148 257.512 558.184 257.512 559.301 curveto
+ 257.512 560.066 256.855 560.805 255.551 560.805 curveto
+ 252.32 560.805 lineto
+ 252.133 560.805 252.023 560.805 252.023 560.613 curveto
+ 252.023 560.496 252.113 560.496 252.312 560.496 curveto
+ 252.441 560.496 252.621 560.484 252.738 560.477 curveto
+ 252.898 560.457 252.957 560.426 252.957 560.316 curveto
+ 252.957 560.277 252.949 560.246 252.918 560.129 curveto
+ 251.586 554.777 lineto
+ 251.484 554.387 251.465 554.309 250.676 554.309 curveto
+ 250.508 554.309 250.398 554.309 250.398 554.121 curveto
+ 250.398 554.0 250.52 554.0 250.547 554.0 curveto
+ 250.828 554.0 251.535 554.031 251.812 554.031 curveto
+ 252.023 554.031 252.242 554.02 252.449 554.02 curveto
+ 252.672 554.02 252.891 554.0 253.098 554.0 curveto
+ 253.168 554.0 253.297 554.0 253.297 554.199 curveto
+ 253.297 554.309 253.207 554.309 253.02 554.309 curveto
+ 252.648 554.309 252.371 554.309 252.371 554.488 curveto
+ 252.371 554.547 252.391 554.598 252.402 554.656 curveto
+ closepath
+ 253.734 560.117 moveto
+ 253.824 560.465 253.844 560.496 254.273 560.496 curveto
+ 255.23 560.496 lineto
+ 256.059 560.496 256.586 560.227 256.586 559.539 curveto
+ 256.586 559.152 256.387 558.293 255.996 557.934 curveto
+ 255.5 557.488 254.902 557.406 254.465 557.406 curveto
+ 253.059 557.406 lineto
+ closepath
+ 256.711 554.051 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 14                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 264.363 581.059 moveto
+ 265.906 581.648 267.371 583.422 267.371 585.344 curveto
+ 267.371 586.949 266.316 588.023 264.832 588.023 curveto
+ 262.68 588.023 260.488 585.762 260.488 583.441 curveto
+ 260.488 581.785 261.605 580.781 263.039 580.781 curveto
+ 263.289 580.781 263.625 580.82 264.016 580.93 curveto
+ 263.977 580.312 263.977 580.293 263.977 580.164 curveto
+ 263.977 579.844 263.977 579.066 264.801 579.066 curveto
+ 265.988 579.066 266.465 580.891 266.465 581.0 curveto
+ 266.465 581.07 266.395 581.102 266.355 581.102 curveto
+ 266.277 581.102 266.258 581.051 266.238 580.988 curveto
+ 265.996 580.281 265.418 580.035 265.07 580.035 curveto
+ 264.613 580.035 264.465 580.301 264.363 581.059 curveto
+ closepath
+ 262.48 581.141 moveto
+ 261.703 581.449 261.363 582.227 261.363 583.121 curveto
+ 261.363 583.809 261.625 585.223 262.383 586.301 curveto
+ 263.109 587.316 264.043 587.773 264.773 587.773 curveto
+ 265.77 587.773 266.496 586.996 266.496 585.664 curveto
+ 266.496 584.668 265.988 582.336 264.312 581.398 curveto
+ 264.266 581.746 264.164 582.473 263.438 582.473 curveto
+ 262.91 582.473 262.422 581.977 262.422 581.457 curveto
+ 262.422 581.258 262.48 581.148 262.48 581.141 curveto
+ closepath
+ 263.098 581.031 moveto
+ 262.957 581.031 262.641 581.031 262.641 581.457 curveto
+ 262.641 581.855 263.02 582.254 263.438 582.254 curveto
+ 263.855 582.254 264.043 582.016 264.043 581.41 curveto
+ 264.043 581.258 264.035 581.25 263.934 581.211 curveto
+ 263.676 581.102 263.379 581.031 263.098 581.031 curveto
+ closepath
+ 268.0 581.023 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 15                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 261.734 475.117 moveto
+ 261.797 475.355 261.824 475.457 262.016 475.484 curveto
+ 262.105 475.496 262.422 475.496 262.621 475.496 curveto
+ 263.328 475.496 264.438 475.496 264.438 474.508 curveto
+ 264.438 474.172 264.277 473.484 263.887 473.094 curveto
+ 263.629 472.836 263.102 472.516 262.203 472.516 curveto
+ 261.09 472.516 lineto
+ closepath
+ 263.172 472.387 moveto
+ 264.176 472.605 265.363 473.305 265.363 474.309 curveto
+ 265.363 475.168 264.465 475.805 263.16 475.805 curveto
+ 260.32 475.805 lineto
+ 260.121 475.805 260.031 475.805 260.031 475.605 curveto
+ 260.031 475.496 260.121 475.496 260.312 475.496 curveto
+ 260.332 475.496 260.52 475.496 260.691 475.477 curveto
+ 260.871 475.457 260.957 475.445 260.957 475.316 curveto
+ 260.957 475.277 260.949 475.246 260.918 475.129 curveto
+ 259.586 469.777 lineto
+ 259.484 469.387 259.465 469.309 258.676 469.309 curveto
+ 258.5 469.309 258.41 469.309 258.41 469.109 curveto
+ 258.41 469.0 258.527 469.0 258.547 469.0 curveto
+ 258.828 469.0 259.523 469.031 259.805 469.031 curveto
+ 260.082 469.031 260.789 469.0 261.07 469.0 curveto
+ 261.148 469.0 261.27 469.0 261.27 469.199 curveto
+ 261.27 469.309 261.18 469.309 260.988 469.309 curveto
+ 260.621 469.309 260.34 469.309 260.34 469.488 curveto
+ 260.34 469.547 260.359 469.598 260.371 469.656 curveto
+ 261.027 472.297 lineto
+ 262.215 472.297 lineto
+ 263.121 472.297 263.301 471.738 263.301 471.391 curveto
+ 263.301 471.242 263.219 470.934 263.16 470.703 curveto
+ 263.09 470.426 263.0 470.055 263.0 469.855 curveto
+ 263.0 468.781 264.195 468.781 264.328 468.781 curveto
+ 265.172 468.781 265.523 469.785 265.523 469.926 curveto
+ 265.523 470.047 265.414 470.047 265.402 470.047 curveto
+ 265.312 470.047 265.293 469.977 265.273 469.906 curveto
+ 265.023 469.168 264.594 469.0 264.367 469.0 curveto
+ 264.039 469.0 263.969 469.219 263.969 469.609 curveto
+ 263.969 469.918 264.027 470.426 264.066 470.742 curveto
+ 264.086 470.883 264.105 471.07 264.105 471.211 curveto
+ 264.105 471.98 263.441 472.289 263.172 472.387 curveto
+ closepath
+ 265.281 468.59 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 16                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 312.07 613.023 moveto
+ 312.062 613.055 312.02 613.133 312.02 613.164 curveto
+ 312.02 613.176 312.199 613.312 312.309 613.395 curveto
+ 314.055 614.738 lineto
+ 314.988 615.426 315.379 615.465 315.676 615.496 curveto
+ 315.758 615.504 315.855 615.516 315.855 615.695 curveto
+ 315.855 615.734 315.828 615.805 315.746 615.805 curveto
+ 315.527 615.805 315.277 615.773 315.039 615.773 curveto
+ 314.68 615.773 314.293 615.805 313.934 615.805 curveto
+ 313.863 615.805 313.746 615.805 313.746 615.605 curveto
+ 313.746 615.535 313.793 615.504 313.863 615.496 curveto
+ 314.082 615.477 314.172 615.426 314.172 615.285 curveto
+ 314.172 615.105 313.875 614.879 313.812 614.828 curveto
+ 309.93 611.84 lineto
+ 310.727 615.039 lineto
+ 310.816 615.395 310.836 615.496 311.562 615.496 curveto
+ 311.812 615.496 311.902 615.496 311.902 615.695 curveto
+ 311.902 615.785 311.82 615.805 311.762 615.805 curveto
+ 311.484 615.805 310.766 615.773 310.488 615.773 curveto
+ 310.199 615.773 309.492 615.805 309.203 615.805 curveto
+ 309.133 615.805 309.004 615.805 309.004 615.613 curveto
+ 309.004 615.496 309.094 615.496 309.293 615.496 curveto
+ 309.422 615.496 309.602 615.484 309.719 615.477 curveto
+ 309.879 615.457 309.938 615.426 309.938 615.316 curveto
+ 309.938 615.277 309.93 615.246 309.898 615.129 curveto
+ 308.562 609.777 lineto
+ 308.465 609.387 308.445 609.309 307.656 609.309 curveto
+ 307.488 609.309 307.379 609.309 307.379 609.121 curveto
+ 307.379 609.0 307.5 609.0 307.527 609.0 curveto
+ 307.809 609.0 308.516 609.031 308.793 609.031 curveto
+ 309.004 609.031 309.223 609.02 309.43 609.02 curveto
+ 309.648 609.02 309.871 609.0 310.078 609.0 curveto
+ 310.148 609.0 310.277 609.0 310.277 609.199 curveto
+ 310.277 609.309 310.188 609.309 310.0 609.309 curveto
+ 309.629 609.309 309.352 609.309 309.352 609.488 curveto
+ 309.352 609.559 309.41 609.777 309.441 609.926 curveto
+ 309.582 610.445 309.711 610.973 309.84 611.492 curveto
+ 311.324 612.645 lineto
+ 311.582 612.047 312.23 610.562 312.48 609.965 curveto
+ 312.598 609.699 312.598 609.676 312.598 609.617 curveto
+ 312.598 609.32 312.172 609.309 312.082 609.309 curveto
+ 311.973 609.309 311.863 609.309 311.863 609.109 curveto
+ 311.863 609.0 311.98 609.0 312.0 609.0 curveto
+ 312.398 609.0 312.816 609.031 313.215 609.031 curveto
+ 313.438 609.031 313.973 609.0 314.191 609.0 curveto
+ 314.242 609.0 314.371 609.0 314.371 609.199 curveto
+ 314.371 609.309 314.262 609.309 314.172 609.309 curveto
+ 313.766 609.32 313.637 609.41 313.484 609.758 curveto
+ closepath
+ 315.785 608.828 moveto
+eofill
+gsave %{
+ grestore %}
+  
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+ 
+ 
+% 17                  pathnumber
+% eofilledpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ 49.2712 29.5627 0.0 0.0 ] 0.0 setdash
+ 4.98132 setlinewidth
+ 0.0 0.0 0.0 1.0 setcmykcolor
+newpath
+ 208.727 615.027 moveto
+ 208.816 615.387 208.844 615.496 209.781 615.496 curveto
+ 210.082 615.496 210.16 615.496 210.16 615.684 curveto
+ 210.16 615.805 210.051 615.805 210.0 615.805 curveto
+ 209.672 615.805 208.855 615.773 208.527 615.773 curveto
+ 208.227 615.773 207.5 615.805 207.203 615.805 curveto
+ 207.133 615.805 207.012 615.805 207.012 615.605 curveto
+ 207.012 615.496 207.102 615.496 207.293 615.496 curveto
+ 207.312 615.496 207.5 615.496 207.672 615.477 curveto
+ 207.848 615.457 207.938 615.445 207.938 615.316 curveto
+ 207.938 615.277 207.93 615.246 207.898 615.129 curveto
+ 206.562 609.777 lineto
+ 206.465 609.387 206.445 609.309 205.656 609.309 curveto
+ 205.488 609.309 205.387 609.309 205.387 609.109 curveto
+ 205.387 609.0 205.477 609.0 205.656 609.0 curveto
+ 210.27 609.0 lineto
+ 210.508 609.0 210.52 609.0 210.578 609.168 curveto
+ 211.367 611.32 lineto
+ 211.406 611.43 211.406 611.449 211.406 611.461 curveto
+ 211.406 611.5 211.375 611.57 211.285 611.57 curveto
+ 211.195 611.57 211.188 611.52 211.117 611.359 curveto
+ 210.777 610.445 210.34 609.309 208.617 609.309 curveto
+ 207.68 609.309 lineto
+ 207.539 609.309 207.52 609.309 207.461 609.32 curveto
+ 207.359 609.328 207.332 609.34 207.332 609.418 curveto
+ 207.332 609.449 207.332 609.469 207.383 609.648 curveto
+ closepath
+ 212.211 608.738 moveto
+eofill
+gsave %{
+ grestore %}
+ grestore %}
+  
+ 
+% 18                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 0.5 setcmykcolor
+newpath
+ 241.777 642.023 moveto
+ 244.004 640.66 246.566 639.938 249.18 639.938 curveto
+ 249.762 639.938 250.344 639.973 250.922 640.043 curveto
+stroke
+ 
+ 
+% 19                  pathnumber
+% strokedpath
+ 0 setlinecap
+ 10.0 setmiterlimit
+ 0 setlinejoin
+ [ ] 0.0 setdash
+ 0.498132 setlinewidth
+ 0.0 0.0 0.0 0.5 setcmykcolor
+newpath
+ 250.922 640.043 moveto
+ 254.102 640.438 257.059 641.898 259.305 644.191 curveto
+stroke
+grestore %}
+ grestore %}
+ grestore %}
+ showpage
+%%BoundingBox: 69 436 412 720 
+%%Page: 1 1
+restore %}
+restore %}
+restore %}
+restore %}
+showpage
+%%BoundingBox: 999999 999999 0 0 
+%%Page: 2 2
+% normal end reached by pstoedit.pro
+%%Trailer
+%%Pages: 2
+%%EOF

File IMO/2007/imo2k7p4_iso.euk

+A B C isosceles
+b = bisector(A, C, B)
+c = circle(A, B, C)
+K = midpoint(segment(B, C))
+L = midpoint(segment(A, C))
+O = center(c)
+% P = intersection(b, line(K, O))
+% Q = intersection(b, line(L, O))
+C R intersection(b, c)
+
+frame(-4, -4, 8, 6)
+
+draw(A, B, C)
+draw(b)
+draw(segment(O, K))
+draw(segment(O, L))
+draw(segment(R, L))
+draw(segment(R, K))
+draw(c)
+% draw(segment(O, Q))
+% draw(segment(O, P))
+
+draw("$A$", A, -130:)
+draw("$B$", B, -50:)
+draw("$C$", C, 130:)
+draw("$O$", O, -50:)
+% draw("$P$", P, 0.1, -160:)
+% draw("$Q$", Q, 0.1, 50:)
+draw("$R$", R, -130:)
+draw("$K$", K, 50:)
+draw("$L$", L, 130:)
+

File IMO/2007/imo2k7p4_iso.png

Added
New image

File IMO/2007/imo2k7p4_iso.svg

Added
New image

File IMO/2011/imo2k11p6.eps

+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software
+%%Title: imo2k11p6.euk.dvi
+%%CreationDate: Wed Jul 27 01:44:22 2011
+%%BoundingBox: 66 39 810 721
+%%DocumentFonts: CMMI10 CMR10
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -q -f -E imo2k11p6.euk.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource:  TeX output 2011.07.27:0144
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: pstricks.pro 0 0
+% $Id: pstricks.pro 90 2009-01-30 10:58:51Z herbert $
+%
+%% PostScript prologue for pstricks.tex.
+%% Version 1.06, 2009/01/30
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%
+%
+% Define the follwing gs-functions if not known, eg when using distiller
+%
+systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
+systemdict /.setblendmode known not {/.setblendmode { pop } def } if
+systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
+%
+/tx@Dict 200 dict def 				% the main PSTricks dictionary
+tx@Dict begin
+/ADict 25 dict def				% The arrow dictionaray
+/CM { matrix currentmatrix } bind def
+/SLW /setlinewidth load def
+/CLW /currentlinewidth load def
+/CP /currentpoint load def
+/ED { exch def } bind def
+/L /lineto load def
+/T /translate load def
+/TMatrix { } def
+/RAngle { 0 } def
+/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def  % return 0 for negative arguments 
+/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
+/ATAN1 {neg -1 atan 180 sub } def		% atan(x) (only one parameter)
+/Div { dup 0 eq { pop } { div } ifelse } def  	% control the division
+/tan { dup cos abs 1.e-10 lt 
+  { pop 1.e10 } 				% return 1.e10 as infinit
+  { dup sin exch cos div } ifelse 		% default sin/cos
+} def
+/Tan { dup sin exch cos Div } def 		% sin(x)/cos(x) x in degrees
+/Acos {dup dup mul neg 1 add dup 0 lt {		% arc cos, returns 0 when negative root
+  pop pop 0 }{ sqrt exch atan} ifelse } def
+/NET { neg exch neg exch T } def	      	% change coordinate system to the negative one		
+/Pyth { dup mul exch dup mul add sqrt } def   	% Pythagoras, expects 2 parameter
+/Pyth2 {					% Pythagoras, xA yA xB yB
+  3 -1 roll 		% xA xB yB yA
+  sub			% xA xB yB-yA
+  3 1 roll 		% yB-yA xA xB
+  sub			% yB-yA xA-xB
+  Pyth } def
+/PtoC { 2 copy cos mul 3 1 roll sin mul } def 	% Polar to Cartesian
+/Rand { rand 4294967295 div } def		% a real random number
+%----------------- hv added 20050516 ---------------
+/PiDiv2 1.57079632680 def
+/Pi 3.14159265359 def 
+/TwoPi 6.28318530718 def
+/Euler 2.71828182846 def 
+%/e Euler bind def
+%
+/RadtoDeg { 180 mul Pi div } bind def 		% convert from radian to degrees
+/DegtoRad { Pi mul 180 div } bind def 		% viceversa
+%----------------- hv end---------------------------
+/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
+%
+/PathLength { 
+  flattenpath /z 0 def 
+  { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
+  { /y ED /x ED PathLength@ } 
+  {} 
+  { /y y2 def /x x2 def PathLength@ }
+  /pathforall load stopped { pop pop pop pop } if 
+  z 
+} def
+%
+/STP { .996264 dup scale } def			% BP/PT scaling
+/STV { SDict begin normalscale end STP  } def	% 
+%
+%%-------------- DG begin patch 15 ---------------%%
+%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
+%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
+%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
+%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
+%0 } ifelse setdash stroke } def
+/DashLine {
+  dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse
+  /b ED /x1 ED /y1 ED /x ED /y ED 
+  /z y x add y1 add x1 add def
+  /Coef b a .5 sub 2 mul y mul sub z Div round 
+    z mul a .5 sub 2 mul y mul add b exch Div def 
+  /y y Coef mul def 
+  /x x Coef mul def 
+  /y1 y1 Coef mul def 
+  /x1 x1 Coef mul def
+  x1 0 gt y1 0 gt or x 0 gt or y 0 gt and 
+    { [ y x y1 x1 ] 1 a sub y mul }
+    { [ 1 0 ] 0 } ifelse 
+  setdash stroke
+} def
+%%-------------- DG end patch 15 ---------------%%
+/DotLine { 
+  /b PathLength def 
+  /a ED /z ED /y CLW def 
+  /z y z add def 
+  a 0 gt { 
+    /b b a div def 
+  }{ 
+    a 0 eq { 
+      /b b y sub def 
+    }{ a -3 eq { 
+      /b b y add def } if 
+    } ifelse 
+  } ifelse 
+  [ 0 b b z Div round Div dup 0 le { pop 1 } if ] 
+  a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse 
+  setdash 1 setlinecap stroke 
+} def
+%
+/LineFill { % hv ------------ patch 7 -------------
+  gsave 
+  abs /hatchWidthInc ED
+  abs /hatchSepInc ED
+  abs CLW add /a ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform pathbbox 
+  /y2 ED 
+  a Div ceiling cvi /x2 ED /y1 ED 
+  a Div cvi /x1 ED /y2 y2 y1 sub def 
+  clip 
+  newpath 
+  2 setlinecap 
+  systemdict
+  /setstrokeadjust known { true setstrokeadjust } if 
+  x2 x1 sub 1 add { 
+    x1 a mul y1 moveto 0 y2 rlineto stroke 
+    /x1 x1 1 add 
+      hatchWidthInc 0 gt { CLW add } if 
+    def 
+    hatchSepInc 0 gt hatchWidthInc 0 gt or { 
+      /a a hatchSepInc add def
+      CLW hatchWidthInc add SLW 
+    } if
+  } repeat 
+  grestore 
+  pop pop } def
+%
+/PenroseFill {%	 on stack: scaling factor
+  dup dup scale
+  1 exch div round /penroseFactor ED 
+  a 0 dtransform round exch round exch
+  2 copy idtransform 
+  exch Atan rotate 
+  idtransform pop /a ED 
+  .25 .25 itransform pathbbox 
+  /y2 ED 
+  a Div ceiling cvi /x2 ED /y1 ED 
+  a Div cvi /x1 ED /y2 y2 y1 sub def 
+  clip 
+  newpath 
+  systemdict
+  /setstrokeadjust known { true setstrokeadjust } if 
+  /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
+ { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
+  [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
+  i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
+  mul j l + S rmoveto}F i L j L stroke }F}F}F}F 
+  grestore 
+  pop pop 
+} def
+%
+%gsave abs CLW add /a ED a 0 dtransform round exch round exch
+%2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
+%% DG/SR modification begin - Dec. 12, 1997 - Patch 2
+%%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
+%itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
+%% DG/SR modification end
+%Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
+%/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
+%% DG/SR modification begin - Jun.  1, 1998 - Patch 3 (from Michael Vulis)
+%% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
+%% def
+%a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
+%pop pop } def
+%% DG/SR modification end
+%
+/BeginArrow { 
+  ADict begin 			% hold it local, for end see EndArrow
+  /@mtrx CM def 
+  gsave 
+  2 copy T 
+  2 index sub neg exch 
+  3 index sub exch Atan 
+  rotate newpath 
+} def
+%
+/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
+%
+/Arrow { 
+  CLW mul add dup 
+  2 div /w ED 
+  mul dup /h ED 
+  mul /a ED 
+  { 0 h T 1 -1 scale } if 
+  w neg h moveto 
+  0 0 L w h L w neg a neg rlineto 
+  gsave fill grestore 
+} def
+%
+/ArrowD { % the sides are drawn as curves (hv 20071211)
+  CLW mul add dup 
+  2 div /w ED 
+  mul dup /h ED 
+  mul /Inset ED 
+  { 0 h T 1 -1 scale } if % changes the direction
+% we use y=w/h^2 * x^2 as equation for the control points
+% for the coordinates the arrow is seen from top to bottom
+% the bottom (tip) is (0;0)
+  w neg h moveto % lower left of >
+  w 9 div 4 mul neg h 3 div 2 mul
+  w 9 div neg       h 3 div  
+  0 0 curveto    % tip of >
+  w 9 div        h 3 div  
+  w 9 div 4 mul  h 3 div 2 mul
+  w h curveto % upper left of >
+  w neg Inset neg rlineto % move to x=0 and inset
+  gsave fill grestore 
+} def 
+%
+/Tbar { 
+  CLW mul add /z ED 
+  z -2 div CLW 2 div moveto 
+  z 0 rlineto stroke 
+  0 CLW moveto 
+} def
+%
+/Bracket { 
+  CLW mul add dup CLW sub 2 div 
+  /x ED mul CLW add /y ED /z CLW 2 div def 
+  x neg y moveto 
+  x neg CLW 2 div L x CLW 2 div L x y L stroke 
+  0 CLW moveto 
+} def
+%
+/RoundBracket { 
+  CLW mul add dup 2 div 
+  /x ED mul /y ED /mtrx CM def 
+  0 CLW 2 div T x y mul 0 ne { x y scale } if 
+  1 1 moveto 
+  .85 .5 .35 0 0 0 curveto 
+  -.35 0 -.85 .5 -1 1 curveto 
+  mtrx setmatrix stroke 0 CLW moveto 
+} def
+%
+/SD { 0 360 arc fill } def
+%
+/EndDot { % DS is the dot size 
+  { /z DS def } { /z 0 def } ifelse 
+  /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 
+  0 DS z add CLW 4 div sub moveto } def
+%
+/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
+  /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
+  load } if ] cvx newpath 3 1 roll T exec } def
+%
+%/NArray { 
+%   aload length 2 div dup dup cvi eq not { exch pop } if /n exch
+%   cvi def 
+%} def
+%
+/NArray { % holds the coordinates and on top of stack the showpoints boolean
+  /showpoints ED 
+  counttomark 2 div dup cvi /n ED 
+  n eq not { exch pop } if
+  showpoints { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse 
+} def
+%
+/Line { 
+  NArray n 0 eq not 
+    { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def 
+      n { Lineto } repeat 
+      CP 4 2 roll ArrowB L pop pop 
+    } if 
+} def
+%
+/Arcto { 
+  /a [ 6 -2 roll ] cvx def 
+  a r 
+  /arcto load stopped { 5 } { 4 } ifelse { pop } repeat 
+  a 
+} def
+%
+/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
+  and { pop pop /n n 1 sub def } if } def
+/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
+  repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
+  ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
+  moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
+  Lineto pop pop closepath } ifelse } def
+/Diamond { 
+  /mtrx CM def 
+  T rotate 
+  /h ED 
+  /w ED 
+  dup 0 eq { pop } { CLW mul neg 
+    /d ED 
+    /a w h Atan def 
+    /h d a sin Div h add def 
+    /w d a cos Div w add def } ifelse 
+  mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div 
+  /ArrowA { moveto } def 
+  /ArrowB { } def 
+  false Line 
+  closepath mtrx setmatrix } def
+% DG modification begin - Jan. 15, 1997
+%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
+%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
+%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
+%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
+%setmatrix } def
+%
+/Triangle { 
+  /mtrx CM def 
+  translate 
+  rotate /h ED 2 div /w ED 
+  dup CLW mul /d ED 
+  /h h d w h Atan sin Div sub def 
+  /w w d h w Atan 2 div dup cos exch sin Div mul sub def 
+  mark 
+  0 d w neg d 0 h w d 0 d 
+  /ArrowA { moveto } def 
+  /ArrowB { } def 
+  false 
+  Line 
+  closepath 
+  mtrx
+% DG/SR modification begin - Jun.  1, 1998 - Patch 3 (from Michael Vulis)
+% setmatrix } def
+  setmatrix pop 
+} def
+% DG/SR modification end
+%
+/CCA { 
+  /y ED /x ED 
+  2 copy y sub /dy1 ED 
+  x sub /dx1 ED 
+  /l1 dx1 dy1 Pyth def 
+} def
+%
+/CC { 
+  /l0 l1 def 
+  /x1 x dx sub def 
+  /y1 y dy sub def 
+  /dx0 dx1 def 
+  /dy0 dy1 def 
+  CCA 
+  /dx dx0 l1 c exp mul dx1 l0 c exp mul add def 
+  /dy dy0 l1 c exp mul dy1 l0 c exp mul add def 
+  /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def 
+  /x2 x l0 dx mul m mul sub def
+  /y2 y l0 dy mul m mul sub def 
+  /dx l1 dx mul m mul neg def 
+  /dy l1 dy mul m mul neg def 
+} def
+%
+/IC { 
+  /c c 1 add def 
+  c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse 
+  /a a 2 mul 3 div 45 cos b exp div def 
+  CCA 
+  /dx 0 def 
+  /dy 0 def 
+} def
+%
+/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
+/NC { CC x1 y1 x2 y2 x y curveto } def
+/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
+/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
+/NAC { x2 y2 x y curveto CC x1 y1 } def
+/EAC { x2 y2 x y ArrowB curveto pop pop } def
+%
+/OpenCurve { 
+  NArray n 3 lt 
+    { n { pop pop } repeat } 
+    { BOC /n n 3 sub def n { NC } repeat EOC } ifelse 
+} def
+%
+/AltCurve { 
+  { false NArray n 2 mul 2 roll 
+    [ n 2 mul 3 sub 1 roll ] aload
+    /Points ED 
+    n 2 mul -2 roll } 
+  { false NArray } ifelse 
+  n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse 
+} def
+%
+/ClosedCurve { 
+  NArray n 3 lt 
+    { n { pop pop } repeat } 
+    { n 3 gt { CheckClosed } if 
+      6 copy n 2 mul 6 add 6 roll 
+      IC CC x y moveto n { NC } repeat 
+      closepath pop pop 
+    } ifelse 
+} def
+%
+/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
+/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
+/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
+%
+/FontDot { 
+  DS 2 mul dup 
+  matrix scale matrix concatmatrix exch matrix
+  rotate matrix concatmatrix exch 
+  findfont exch makefont setfont 
+} def
+%
+/Rect { 
+  x1 y1 y2 add 2 div moveto 
+  x1 y2 lineto 
+  x2 y2 lineto 
+  x2 y1 lineto
+  x1 y1 lineto 
+  closepath 
+} def
+%
+/OvalFrame { 
+  x1 x2 eq y1 y2 eq or 
+    { pop pop x1 y1 moveto x2 y2 L } 
+    { y1 y2 sub abs x1 x2 sub abs 2 copy gt 
+      { exch pop } { pop } ifelse 
+      2 div exch { dup 3 1 roll mul exch } if 
+      2 copy lt { pop } { exch pop } ifelse
+      /b ED 
+      x1 y1 y2 add 2 div moveto 
+      x1 y2 x2 y2 b arcto 
+      x2 y2 x2 y1 b arcto
+      x2 y1 x1 y1 b arcto 
+      x1 y1 x1 y2 b arcto 
+      16 { pop } repeat 
+      closepath 
+    } ifelse 
+} def
+%
+/Frame { 
+  CLW mul /a ED 
+  3 -1 roll 
+  2 copy gt { exch } if 
+  a sub /y2 ED 
+  a add /y1 ED 
+  2 copy gt { exch } if 
+  a sub /x2 ED 
+  a add /x1 ED 
+  1 index 0 eq { pop pop Rect } { OvalFrame } ifelse 
+} def
+%
+/BezierNArray { 
+  /f ED 
+  counttomark 2 div dup cvi /n ED 
+  n eq not { exch pop } if 
+  n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat 
+  f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse 
+} def
+%
+/OpenBezier { 
+  BezierNArray 
+  n 1 eq 
+    { pop pop } 
+    { ArrowA n 4 sub 3 idiv 
+      { 6 2 roll 4 2 roll curveto } repeat 
+      6 2 roll 4 2 roll ArrowB curveto } ifelse 
+} def
+%
+/ClosedBezier { 
+  BezierNArray 
+  n 1 eq 
+    { pop pop } 
+    { moveto n 1 sub 3 idiv 
+      { 6 2 roll 4 2 roll curveto } repeat 
+      closepath } ifelse 
+} def
+%
+/BezierShowPoints { 
+  gsave 
+  Points aload length 2 div cvi /n ED 
+  moveto 
+  n 1 sub { lineto } repeat 
+  CLW 2 div SLW [ 4 4 ] 0 setdash stroke 
+  grestore 
+} def
+%
+/Parab { 
+  /y0 ED /x0 ED /y1 ED /x1 ED 
+  /dx x0 x1 sub 3 div def 
+  /dy y0 y1 sub 3 div def 
+  x0 dx sub y0 dy add x1 y1 ArrowA
+  x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB 
+  curveto 
+  /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def 
+} def
+%
+/Grid { 
+  newpath 
+  /a 4 string def 
+  /b ED /c ED /n ED 
+  cvi dup 1 lt { pop 1 } if 
+  /s ED 
+  s div dup 0 eq { pop 1 } if 
+  /dy ED s div dup 0 eq { pop 1 } if
+  /dx ED dy div round dy mul 
+  /y0 ED dx div round dx mul 
+  /x0 ED dy div round cvi 
+  /y2 ED dx div round cvi 
+  /x2 ED dy div round cvi 
+  /y1 ED dx div round cvi 
+  /x1 ED 
+  /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def 
+  /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def 
+  b 0 gt { 
+    /z1 b 4 div CLW 2 div add def
+%    /Helvetica findfont b scalefont setfont 
+    /b b .95 mul CLW 2 div add def } if 
+  systemdict /setstrokeadjust known 
+    { true setstrokeadjust /t { } def }
+    { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
+       exch itransform } bind def } ifelse 
+  gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse 
+  /i x1 def 
+  /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def 
+  /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def 
+  x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if 
+  { i dx mul dup y0 moveto