%input labelauto;
beginfig(1);

u = 1cm;
ymax = 5;
xmax = 13;
xmin = ymin = -0.5;

path xx, yy;
xx = ((xmin,0) -- (xmax,0)) scaled u;
yy = ((0,ymin) -- (0,ymax)) scaled u;

drawoptions(withpen pencircle scaled .7);
xx := xx scaled 1.05;
yy := yy scaled 1.05;
drawarrow xx;
drawarrow yy;
drawoptions();

label.lrt (btex $x$ etex, point infinity of xx);
label.ulft(btex $y$ etex, point infinity of yy);

pair A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, BB, DD, GG, JJ, MM, fB, fD, fG, fJ, fM;
O := (0.5cm,4.8cm);
A := (1cm,0);
B := (1cm,4.4cm);
C := (1cm,3.6cm);
D := (2.5cm,3.6cm);
E := (2.5cm,0);
F := (2.5cm,2.7cm);
G := (4.5cm,2.7cm);
H := (4.5cm,0);
I := (4.5cm,2cm);
J := (6.5cm,2cm);
K := (6.5cm,0);
L := (10cm,0.7cm);
M := (10cm,1.1cm);
N := (10cm,0);
R := (11.5cm,0.7cm);
S := (11.5cm,0);
P := (12.5cm,0.5cm);
T := (12cm,0);
BB := (3cm,4.4cm);
DD := (3cm,0);
GG := (4.5cm,3.6cm);
JJ := (6.5cm,2.7cm);
MM := (12cm,1.1cm);
fB := (0,4.4cm);
fD := (0,3.6cm);
fG := (0,2.7cm);
fJ := (0,2cm);
fM := (0,1.1cm);


pickup pencircle scaled 1pt;
draw A--B--C--D--E--F--G--H--I--J--K;
draw M--N--L--R--S;
draw O..B..D..G..J..M..R..P;
pickup pencircle scaled 0pt;
drawoptions(dashed evenly scaled 4);
draw B--BB--DD;
drawoptions(dashed evenly);
draw fB--B;
draw D--GG--G--JJ--J;
draw M--MM--T;
%draw fD--D;
%draw fG--G;
%draw fJ--J;
%draw fM--M;



label.bot(btex $N$ etex, A);
label.bot(btex $N+p$ etex, E);
label.bot(btex $N+p+q$ etex, H);
label.bot(btex $N+p+2q$ etex, K);
label.bot(btex $N+p+tq$ etex, N);
label.bot(btex $N+M$ etex, S);
label.bot(btex $\ldots$ etex, (8.25cm,0));
label.llft(btex $0$ etex, (0,0));
label.lft(btex $f(N)$ etex, fB);
%label.lft(btex $f(N+p)$ etex, fD);
%label.lft(btex $f(N+p+q)$ etex, fG);
%label.lft(btex $f(N+p+2q)$ etex, fJ);
%label.lft(btex $f(N+p+tq)$ etex, fM);

endfig;
end