code: mafs

Download patch

ref: d75fdae03c215393b0c965940684803d29c46996
parent: 48c656d809eba4bdb5092b07c3c0b4487f6cd69f
author: 9ferno <gophone2015@gmail.com>
date: Tue Jan 3 06:41:31 EST 2023

moved extents to libextents

diff: cannot open a/tests/extents/0//null: file does not exist: 'a/tests/extents/0//null' diff: cannot open a/tests/extents/1//null: file does not exist: 'a/tests/extents/1//null' diff: cannot open a/tests/extents/2//null: file does not exist: 'a/tests/extents/2//null' diff: cannot open a/tests/extents/3//null: file does not exist: 'a/tests/extents/3//null' diff: cannot open a/tests/extents/4//null: file does not exist: 'a/tests/extents/4//null' diff: cannot open a/tests/extents/addabove//null: file does not exist: 'a/tests/extents/addabove//null' diff: cannot open a/tests/extents/addabove1//null: file does not exist: 'a/tests/extents/addabove1//null' diff: cannot open a/tests/extents/addbelow//null: file does not exist: 'a/tests/extents/addbelow//null' diff: cannot open a/tests/extents/addbelow1//null: file does not exist: 'a/tests/extents/addbelow1//null' diff: cannot open a/tests/extents/addbelow2//null: file does not exist: 'a/tests/extents/addbelow2//null' diff: cannot open a/tests/extents/mergeabove//null: file does not exist: 'a/tests/extents/mergeabove//null' diff: cannot open a/tests/extents/mergenext//null: file does not exist: 'a/tests/extents/mergenext//null' diff: cannot open a/tests/extents/mergeprevious//null: file does not exist: 'a/tests/extents/mergeprevious//null' diff: cannot open a/tests/extents//null: file does not exist: 'a/tests/extents//null'
--- a/dat.h
+++ b/dat.h
@@ -246,7 +246,6 @@
 {
 	Nworks = 1024,	/* make this a parameter? */
 	Nworkers = 2 /* 32 */,	/* make this a parameter? */
-	Nlru  = 32,
 	Nuserserrmsg = 64,
 };
 
--- a/extents.c
+++ /dev/null
@@ -1,1117 +1,0 @@
-#include <u.h>
-#include <libc.h>
-#include "dat.h"
-#include "fns.h"
-#include "extents.h"
-
-/*
- * Extents are used to manage memory space and disk space. The space is
- * is split into units of the same size.
- *
- * All space is split into a sequence of units. Each such sequence of units
- * is called an Extent. The data structure Extents is used to contain this
- * information. Space is added to the Extents using bfree() and allocated
- * using balloc(). When freed, adjacent extents are coalesced to create a
- * large extent, if they are continuous.
- */
-
-Extent *sortbysize(Extents *es, Extent *e);
-void	showextent(int fd, char *pre, Extent *e);
-static int extentsfd = -1;
-
-s64
-belongs(Extent *e, u64 start)
-{
-	if(e == nil)
-		sysfatal("belongs: e == nil");
-	if(e->start+e->len == start)
-		return 0;
-	return start-e->start;
-}
-
-Extent *
-searchlrus(Extents *es, u64 blkno, s64 *closest)
-{
-	Extent *e, *eclosest;
-	s64 howclose;
-
-	if(es == nil || es->lowest == nil)
-		panic("searchlrus: should not happen");
-
-	if(es->lru == nil){
-		*closest = belongs(es->lowest, blkno);
-		return es->lowest;
-	}
-
-	eclosest = e = es->lru;
-	*closest = belongs(e, blkno);
-	if(*closest == 0)
-		return eclosest;
-	for(e = e->next; e != es->lru; e = e->next){
-		howclose = belongs(e, blkno);
-		if(abs(howclose) < abs(*closest)){
-			eclosest = e;
-			*closest = howclose;
-			if(howclose == 0)
-				break;
-		}
-	}
-	return eclosest;
-}
-
-/* TODO? check len and start and not just len */
-Extent *
-searchlrusbysize(Extents *es, u64 len, s64 *closest)
-{
-	Extent *e, *eclosest;
-	s64 howclose;
-
-	if(es == nil || es->lowest == nil)
-		panic("searchlrusbysize: should not happen");
-
-	// print("searchlrusbysize len %llud e->len %llud\n", len, e->len);
-	if(es->lru == nil){
-		*closest = len - es->lowest->len;
-		return es->lowest;
-	}
-
-	eclosest = e = es->lru;
-	*closest = len - e->len;
-	if(closest == 0)
-		return eclosest;
-	for(e = e->next; e != es->lru; e = e->next){
-		howclose = len - e->len;
-		if(abs(howclose) < abs(*closest)){
-			eclosest = e;
-			*closest = howclose;
-			if(howclose == 0)
-				break;
-		}
-	}
-	return eclosest;
-}
-
-void
-removefromlrus(Extents *es, Extent *e)
-{
-	Extent *d, *f;
-
-	if(e == nil || es == nil)
-		return;
-
-//	print("removefromlrus e start %llud len %llud\n", e->start, e->len);
-	/* only entry in the lru linked list */
-	if(e == e->prev && e->prev == e->next){
-		e->prev = e->next = es->lru = nil;
-		es->nlru = 0;
-		return;
-	}
-
-	/* d e f => d f */
-	d = e->prev;
-	f = e->next;
-
-	if(d != nil)
-		d->next = f;
-	if(f != nil)
-		f->prev = d;
-	es->nlru--;
-	e->prev = e->next = nil;
-
-	if(es->lru == e)
-		if(f != nil)
-			es->lru = f;
-		else if(d != nil)
-			es->lru = d;
-		else
-			panic("removefromlrus(): should not be happening\n");
-			// es->lru = nil;
-}
-
-Extent *
-intolrus(Extents *es, Extent *e)
-{
-	Extent *y, *z;
-
-	if(e == nil || es == nil)
-		return nil;
-
-	if(e->prev != nil || e->next != nil)
-		removefromlrus(es, e);
-
-	if(es->lru == nil){
-		e->prev = e->next = e;
-		es->nlru = 1;
-	}else if(es->nlru >= Nlru){
-		/*
-			y z lru
-				to
-			y e lru
-			then make e the lru
-		 */
-		z = es->lru->prev;
-		y = z->prev;
-		z->prev = z->next = nil;
-
-		e->prev = y;
-		y->next = e;
-
-		e->next = es->lru;
-		es->lru->prev = e;
-	}else{
-		/*
-			z lru
-				to
-			z e lru
-			then make e the lru
-		 */
-		z = es->lru->prev;
-		z->next = e;
-		e->prev = z;
-		e->next = es->lru;
-		es->lru->prev = e;
-		es->nlru++;
-	}
-	es->lru = e;
-	return e;
-}
-
-Extent *
-smallest(Extents *es)
-{
-	Extent *e;
-
-	if(es == nil)
-		return nil;
-	for(e = es->lru ? es->lru : es->lowest;
-		e!=nil && e->small != nil; e=e->small)
-		;
-	return e;
-}
-
-Extent *
-biggest(Extents *es)
-{
-	Extent *e;
-
-	if(es == nil)
-		return nil;
-	for(e = es->lru ? es->lru : es->lowest;
-		e!=nil && e->big != nil; e=e->big)
-		;
-	return e;
-}
-
-Extent *
-lowest(Extents *es)
-{
-	if(es == nil)
-		return nil;
-	return es->lowest;
-}
-
-Extent *
-highest(Extents *es)
-{
-	Extent *e;
-
-	if(es == nil)
-		return nil;
-	for(e = es->lru ? es->lru : es->lowest;
-		e!=nil && e->high != nil; e=e->high)
-		;
-	return e;
-}
-
-Extent *
-addbysize(Extents *es, Extent *e)
-{
-
-	s64 dir = 0;
-	Extent *eprev, *euse, *dsmall, *fbig;
-
-	if(es == nil)
-		panic("arrangebysize es == nil");
-	if(chatty9p > 7)
-	fprint(2, "addbysize es->lowest %8#p e %8#p es->n %llud es->lru %8#p\n", es->lowest, e, es->n, es->lru);
-//	showextents(2, "addbysize\n", es);
-
-	if(chatty9p > 7)
-		print("addbysize es->n %llud e->start %llud e->len %llud\n", es->n, e->start, e->len);
-
-	/* using the lru of extents to find the closest.
-		dir = e->len - es->lru->len */
-	eprev = euse = searchlrusbysize(es, e->len, &dir);
-	if(e == nil || euse == nil)
-		panic("addbysize: e == nil");
-	if(chatty9p > 7)
-		print("addbysize dir %lld euse start %llud len %llud\n", dir, euse->start, euse->len);
-	if(dir < 0){
-		/*	e->len - es->lru->len < 0
-			find a same sized extent by scrolling down */
-		while(euse != nil && e->len < euse->len){
-			eprev = euse;
-			euse = euse->small;
-		}
-		/*	euse e eprev
-				euse->len <= e->len
-				e->len < eprev->len
-		 */
-		if(euse == nil){
-			/* at the smallest extent, add below */
-			eprev->small = e;
-			e->big = eprev;
-			e->small = nil;
-			return e;
-		}else if(euse->len < e->len){
-			/* if different sized euse, close it */
-			eprev->small = e;
-			e->big = eprev;
-			e->small = euse;
-			euse->big = e;
-			return e;
-		}
-		euse = eprev;
-	}else if(dir > 0){
-		/*	 e->len - es->lru->len > 0
-			find a same sized extent by scrolling up */
-		while(euse != nil && e->len > euse->len){
-			eprev = euse;
-			euse = euse->big;
-		}
-		/*	eprev e euse
-				e->len <= euse->len
-				eprev->len < e->len
-		 */
-		if(euse == nil){
-			/* at the biggest extent, add above */
-			eprev->big = e;
-			e->small = eprev;
-			e->big = nil;
-			return e;
-		}else if(e->len < euse->len){
-			/* if different sized euse, close it */
-			eprev->big = e;
-			e->small = eprev;
-			euse->small = e;
-			e->big = euse;
-			return e;
-		}
-		euse = eprev;
-	}
-	/* dir == 0
-		find position using the block number as long as size matches
-		search up by block number */
-	while(euse != nil && e->len == euse->len && euse->start < e->start){
-		eprev = euse;
-		euse = euse->big;
-	}
-	euse = eprev;
-	if(chatty9p > 7)
-	print("addbysize after scroll up eprev start %llud len %llud\n", eprev->start, eprev->len);
-	/* search down by block number */
-	while(euse != nil && e->len == euse->len && e->start < euse->start){
-		eprev = euse;
-		euse = euse->small;
-	}
-	/* euse e eprev */
-	if(e->len < eprev->len ||
-		(e->len == eprev-> len && e->start < eprev->start)){
-		fbig = eprev;
-		dsmall = eprev->small;
-	}else{
-		dsmall = eprev;
-		fbig = eprev->big;
-	}
-
-	if(chatty9p > 7)
-	print("addbysize after scroll down eprev start %llud len %llud\n", eprev->start, eprev->len);
-	if(chatty9p > 7){
-		print("addbysize e start %llud len %llud\n", e->start, e->len);
-		if(dsmall == nil)
-			print("addbysize dsmall nil\n");
-		else
-			print("addbysize dsmall start %llud len %llud\n", dsmall->start, dsmall->len);
-		if(fbig == nil)
-			print("addbysize fbig nil\n");
-		else
-			print("addbysize fbig start %llud len %llud\n", fbig->start, fbig->len);
-	}
-	if(fbig != nil)
-		fbig->small = e;
-	e->big = fbig;
-	if(dsmall != nil)
-		dsmall->big = e;
-	e->small = dsmall;
-	return e;
-}
-
-Extent *
-addextent(Extents *es, Extent *e, u64 start, u64 len)
-{
-	Extent *c;
-
-	c = emalloc(sizeof(Extent));
-	c->start = start;
-	c->len = len;
-	addbysize(es, c);
-	es->n++;
-	if(chatty9p > 7)
-		print("	+%llud %llud %llud\n", start, start+len-1, len);
-
-	if(start < e->start){
-		/* e->low e =>
-			e->low c e
-		  */
-		if(e->low == nil)
-			es->lowest = c;
-		else
-			e->low->high = c;
-		c->low = e->low;
-		e->low = c;
-		c->high = e;
-		return c;
-	}
-	if(start > e->start){
-		/* e e->high =>
-			e c e->high
-		  */
-		if(e->high != nil)
-			e->high->low = c;
-		c->high = e->high;
-		e->high = c;
-		c->low = e;
-		return c;
-	}
-	print("addextent: should not be here e->start"
-			" %llud .. %llud start %llud len %llud\n",
-			e->start, e->start+e->len-1, start, len);
-	abort();
-	return nil;
-}
-
-/* e start f => e+start+f */
-Extent *
-mergeboth(Extents *es, Extent *e, u64 start, u64 len, Extent *f)
-{
-	Extent *small, *big;
-
-	if(es == nil || e == nil || f == nil)
-		panic("mergeboth: should not be happening\n");;
-	if(e->start+e->len != start || start+len != f->start)
-		panic("mergeboth the caller is wrong\n");
-
-	/* skip e in size lru
-		small e big => small big
-	 */
-	small = e->small;
-	big = e->big;
-	if(small != nil)
-		small->big = big;
-	if(big != nil)
-		big->small = small;
-	e->small = e->big = nil;
-
-	/* skip f in size lru
-		small f big => small big
-	 */
-	small = f->small;
-	big = f->big;
-	if(small != nil)
-		small->big = big;
-	if(big != nil)
-		big->small = small;
-	f->small = f->big = nil;
-
-	e->len += len+f->len;
-	e->high = f->high;
-	if(f->high != nil)
-		f->high->low = e;
-	removefromlrus(es, f);
-	es->n--;
-
-	while(big != nil &&
-			(big->len < e->len ||
-			(big->len == e->len && big->start < e->start))){
-		small = big;
-		big = big->big;
-	}
-	e->small = small;
-	e->big = big;
-	if(small != nil)
-		small->big = e;
-	if(big != nil)
-		big->small = e;
-	return e;
-}
-
-/* e start f => e+start f */
-Extent *
-mergeprevious(Extents *es, Extent *e, u64 start, u64 len)
-{
-	Extent *small, *big;
-
-	if(es == nil || e == nil)
-		panic("mergeprevious: should not be happening\n");;
-	if(e->start+e->len != start)
-		panic("mergeprevious the caller is wrong\n");
-
-	/* skip e in size lru
-		small e big => small big
-	 */
-	small = e->small;
-	big = e->big;
-	if(small != nil)
-		small->big = big;
-	if(big != nil)
-		big->small = small;
-	e->small = e->big = nil;
-
-	e->len += len;
-	if(e->low == nil)
-		es->lowest = e;
-
-	while(big != nil &&
-			(big->len < e->len ||
-			(big->len == e->len && big->start < e->start))){
-		small = big;
-		big = big->big;
-	}
-	e->small = small;
-	e->big = big;
-	if(small != nil)
-		small->big = e;
-	if(big != nil)
-		big->small = e;
-	return e;
-}
-
-/* start e => start+e */
-Extent *
-mergenext(Extents *es, Extent *e, u64 start, u64 len)
-{
-	Extent *small, *big;
-
-	if(es == nil || e == nil)
-		panic("mergenext: should not be happening\n");;
-	if(start+len != e->start)
-		panic("mergenext the caller is wrong\n");
-
-	/* skip e in size lru
-		small e big => small big
-	 */
-	small = e->small;
-	big = e->big;
-	if(small != nil)
-		small->big = big;
-	if(big != nil)
-		big->small = small;
-	e->small = e->big = nil;
-
-	e->start = start;
-	e->len += len;
-	while(big != nil &&
-			(big->len < e->len ||
-			(big->len == e->len && big->start < e->start))){
-		small = big;
-		big = big->big;
-	}
-	e->small = small;
-	e->big = big;
-	if(small != nil)
-		small->big = e;
-	if(big != nil)
-		big->small = e;
-	return e;
-}
-
-/*
-print("between e->prev %llud .. %llud and e %llud .. %llud\n",
-	 e->prev->start, e->prev->start+e->prev->n-1,
-	 e->start, e->start+e->len-1);
- */
-Extent *
-doadd(Extents *es, u64 start, u64 len)
-{
-	s64 dir;
-	Extent *e, *d, *f;
-
-	if(es == nil)
-		panic("add es == nil");
-	if(es->n == 0){
-		e = emalloc(sizeof(Extent));
-		e->low = e->high = e->small = e->big = nil;
-		e->start = start;
-		e->len = len;
-		es->lowest = e;
-		es->n = 1;
-		return e;
-	}
-
-	/* using the previously used extents */
-	d = f = e = searchlrus(es, start, &dir);
-	if(e == nil)
-		panic("doadd: e == nil");
-	if(chatty9p > 7){
-		print(" 	belongs(e %llud %llud %llud low %p high %p start %llud %llud %llud) %lld\n",
-				 e->start, e->start+e->len-1, e->len, e->low, e->high,
-				 start, start+len-1, len, dir);
-	}
-
-	if(dir == 0){	/* perfect, e->star+e->len == start */
-		if(e->high != nil &&
-			e->start+e->len == start &&
-			start+len == e->high->start)
-			return mergeboth(es, e, start, len, e->high);
-		else
-			return mergeprevious(es, e, start, len);
-	}
-	else if(dir < 0){	/* start < e->start */
-		while(e != nil && start < e->start){
-			f = e;
-			e = e->low;
-		}
-		/* e start f => e+start+f */
-		if(e != nil && f != nil &&
-			e->start+e->len == start &&
-			start+len == f->start)
-			return mergeboth(es, e, start, len, f);
-
-		/* e start f => e+start f */
-		if(e != nil && e->start+e->len == start)
-			return mergeprevious(es, e, start, len);
-
-		/* e start f => e start+f */
-		if(f != nil && start+len == f->start)
-			return mergenext(es, f, start, len);
-
-		if(e == nil)/* start f */
-			return addextent(es, f, start, len);
-		else		/* e start f */
-			return addextent(es, e, start, len);
-
-	}else /* if(dir > 0) */{	/* start > e->start */
-		while(e != nil && start > e->start){
-			d = e;
-			e = e->high;
-		}
-		/* d start e => e+start+f */
-		if(d != nil && e != nil &&
-			d->start+d->len == start &&
-			start+len == e->start)
-			return mergeboth(es, d, start, len, e);
-
-		/* d start e => d+start e */
-		if(d != nil && d->start+d->len == start)
-			return mergeprevious(es, d, start, len);
-
-		/* d start e => d start+e */
-		if(e != nil && start+len == e->start)
-			return mergenext(es, e, start, len);
-
-		return addextent(es, d, start, len);
-	}
-}
-
-Extent *
-add(Extents *es, u64 start, u64 len)
-{
-	Extent *e;
-
-	if(chatty9p > 7){
-		showextents(2, "		before\n", es);
-		fprint(2, " +%llud %llud\n", start, len);
-	}
-	e = intolrus(es, doadd(es, start, len));
-	if(chatty9p > 7)
-		showextents(2, "		after\n", es);
-	return e;
-}
-
-/*
-	remove from all the linked lists: lru's, start's, len's
-	change Extents.lowest if it is the lowest
- */
-static u64
-pluck(Extents *es, Extent *e)
-{
-	Extent *dlow, *fhigh, *dsmall, *fbig;
-	u64 start;
-
-	if(es == nil || e == nil || es->lowest == nil)
-		panic("pluck(): should not happen");
-
-	removefromlrus(es, e);
-
-	/* if e is the only entry in es */
-	if(e->low == nil && e->high == nil){
-		es->lowest = nil;
-		es->n = 0;
-		start = e->start;
-		free(e);
-		return start;
-	}
-
-	/* there are atleast 2 elements in the list */
-	if(es->lowest == e)
-		es->lowest = e->high;
-
-	/* d e f => d f */
-	dlow = e->low;
-	fhigh = e->high;
-	dsmall = e->small;
-	fbig = e->big;
-
-	/* d e nil => d nil */
-	if(fhigh == nil)
-		dlow->high = nil;
-	if(fbig == nil)
-		dsmall->big = nil;
-
-	/* nil e f => nil f */
-	if(dlow == nil)
-		fhigh->low = nil;
-	if(dsmall == nil)
-		fbig->small = nil;
-
-	if(dlow != nil && fhigh != nil){
-		dlow->high = fhigh;
-		fhigh->low = dlow;
-	}
-	if(dsmall != nil && fbig != nil){
-		dsmall->big = fbig;
-		fbig->small = dsmall;
-	}
-	start = e->start;
-	es->n--;
-	free(e);
-	return start;
-}
-
-/* leave the position in the lrus and starts the same */
-u64
-slice(Extents *es, Extent *e, u64 len)
-{
-	u64 oldstart;
-	Extent *d, *f;
-
-	if(es == nil || e == nil || es->lowest == nil || len == 0 || e->len <= len){
-		showextentslists(2, "slice() panic\n", es);
-		panic("slice(): should not happen es %8#p e %8#p es->lru %8#p len %llud e->len %llud",
-				es, e, es->lru, len, e->len);
-	}
-	oldstart = e->start;
-	e->start += len;
-	e->len -= len;
-
-	/* this is the only extent, nothing more to do */
-	if(es->n == 1)
-		goto Sliced;
-
-	/*
-		change position in the size linked list
-		d e f => d f, add e somewhere below d where it belongs
-	 */
-	d = e->small;
-	f = e->big;
-	/* already the smallest, nothing more to do */
-	if(d == nil)
-		goto Sliced;
-	d->big = f;
-	if(f != nil)
-		f->small = d;
-	/*
-		removed e from the sized linked list.
-		Now, move it below
-	 */
-	while(d != nil &&
-			(e->len < d->len ||
-			(e->len == d->len && e->start < d->start))){
-		f = d;
-		d = d->small;
-	}
-	e->small = d;
-	e->big = f;
-	if(d != nil)
-		d->big = e;
-	if(f != nil)
-		f->small = e;
-
-Sliced:
-	intolrus(es, e);
-	return oldstart;
-}
-
-/* allocate n blocks and return that block number */
-u64
-balloc(Extents *es, u64 n)
-{
-	Extent *e, *euse;
-	u64 start;
-	char msg[64];
-	s64 dir;
-
-	if(es == nil)
-		panic("balloc: es == nil");
-	if(es->n == 0)
-		panic("balloc entering es->n == 0\n");
-	start = 0;
-	USED(start);
-	qlock(&es->lck);
-	if(es->n == 0)
-		rsleep(&es->isempty);
-	if(chatty9p > 7){
-		snprint(msg, 64, "balloc() %llud blocks:\n", n);
-		showextentslists(2, msg, es);
-	}
-again:
-	e = euse = searchlrusbysize(es, n, &dir);
-	if(chatty9p > 7)
-		fprint(2, "balloc() searchlrusbysize() euse %8#p dir %lld \n", euse, dir);
-	if(dir == 0){
-		while(e != nil && n == e->len){
-			euse = e;
-			e = e->small;
-		}
-		e = euse;
-	}else if(dir < 0){
-		while(e != nil && n <= e->len){
-			euse = e;
-			e = e->small;
-		}
-		e = euse;
-	}else /* if(dir > 0) */{
-		while(e != nil && n > e->len){
-			e = e->big;
-		}
-		/* e == nil when nothing is available */
-	}
-/*	for(e = lowest(es); e != nil && e->len < n; e = e->high)
-		; */
-	if(e == nil){
-		snprint(msg, 64, "balloc() %llud %s: waiting\n", n, es->name);
-		showextents(2, msg, es);
-		if(es->flush){
-			qunlock(&es->lck);
-			(*es->flush)();
-			qlock(&es->lck);
-		}else
-			rsleep(&es->isempty);
-		goto again;
-	}
-	else if(e->len == n)
-		start = pluck(es, e);
-	else /* found something bigger */
-		start = slice(es, e, n);
-
-//		snprint(msg, 64, "balloc()'ed start %llud len %llud blocks:\n", start, n);
-//		showextentswithsize(2, msg, es);
-	if(es->n == 0)
-		panic("balloc exiting es->n == 0\n");
-	qunlock(&es->lck);
-	/* uncomment the below line and the other in bfree() for
-		generating test cases of unforeseen behaviour */
-	if(extentsfd > 0)
-		fprint(extentsfd, "%s-%llud %llud\n", es->name, start, n);
-	return start;
-}
-
-/*
- reallocate n blocks to nnew blocks and return that block number
-   It is upto the caller to copy the contents and bfree() the old
-   block number if the returned block number <> old block number.
-   Not providing brealloc() as we would need access to the contents
-   to copy stuff over.
- free n blocks allocated at block number
- */
-void
-bfree(Extents *es, u64 start, u64 len)
-{
-//	char msg[64];
-
-	if(es == nil)
-		panic("bfree: es == nil");
-	if(len <= 0)
-		panic("bfree: len <= 0");
-	/* uncomment the below line and the other in balloc() for
-		generating test cases of unforeseen behaviour */
-	if(extentsfd > 0)
-		fprint(extentsfd, "%s+%llud %llud\n", es->name, start, len);
-	qlock(&es->lck);
-	add(es, start, len);
-//		snprint(msg, 64, "bfree()d start %llud len %llud blocks:\n", start, len);
-//		showextentswithsize(2, msg, es);
-//	if(es->n == 1) the sleeper could just be waiting for a different len block
-		rwakeup(&es->isempty);
-	if(es->n == 0)
-		panic("bfree exiting es->n == 0\n");
-	qunlock(&es->lck);
-}
-
-/* count the total number of free blocks */
-u64
-nfrees(Extents *es)
-{
-	u64 n = 0;
-	Extent *e;
-
-	if(es == nil)
-		panic("nfrees: es == nil");
-	qlock(&es->lck);
-	for(e = lowest(es); e != nil; e = e->high){
-		n += e->len;
-	}
-	qunlock(&es->lck);
-	return n;
-}
-
-/* string length when the extents are written as a string */
-s32
-sizeofextents(Extents *es)
-{
-	u64 n, used;
-	s8 tmp[128];
-	Extent *e;
-
-	used = 0;
-	qlock(&es->lck);
-	for(e = lowest(es); e != nil; e = e->high){
-		n = snprint(tmp, 128, "%llud %llud %llud\n",
-						e->start, e->start+e->len-1, e->len);
-		if(n == 128)
-			panic("sizeofextents(): increase tmp size");
-		used += n;
-	}
-	// keep it locked?
-	qunlock(&es->lck);
-	return used;
-}
-/*
-	write to *buf returns the length written.
-	Ensure that nbuf has an extra byte at the end
-	as snprint() alway places a terminating NUL byte.
-	If there is no extra byte, the content gets trimmed.
- */
-s32
-saveextents(Extents *es, s8 *buf, u32 nbuf)
-{
-	u64 used;
-	Extent *e;
-	s32 ret;
-
-	used = 0;
-	qlock(&es->lck);
-	for(e = lowest(es); e != nil; e = e->high){
-		used += snprint(buf+used, nbuf-used,
-						"%llud %llud %llud\n",
-						e->start, e->start+e->len-1, e->len);
-		if(used >= nbuf){
-			panic("saveextents(): increase buf size");
-			ret = -1;	/* increase buf size */
-			goto end;
-		}
-	}
-	ret = used;
-	// keep it locked?
-end:
-	qunlock(&es->lck);
-	return ret;
-}
-
-/* load the extents from buf of length nbuf */
-/* make this be called multiple times to add more extents - not needed now */
-/* assumes that the input is in ascending order of block numbers */
-s32
-loadextents(Extents *es, s8 *buf, u32 nbuf)
-{
-	s8 *p, *ep;
-	u64 start, end, nblocks;
-
-	p = buf;
-	if(es->lru != nil || es->n != 0){
-		panic("extents already loaded.\n"
-			"	TODO make loadextents() be called multiple times");
-	}
-	while(*p != 0 && p-buf < nbuf){
-		start = strtoull(p, &ep, 10);
-		if(p == ep)
-			panic("could not read");
-
-		p = ep;
-		p += 1; /* skip over the space */
-		end = strtoull(p, &ep, 10);
-		if(p == ep)
-			panic("could not read");
-
-		p = ep;
-		p += 1; /* skip over the space */
-		nblocks = strtoull(p, &ep, 10);
-		if(p == ep)
-			panic("could not read");
-		if(end-start+1 != nblocks)
-			panic("loadextents does not match up: start %llud end %llud nblocks %llud",
-					start, end, nblocks);
-
-		p = ep;
-		p++; /* to skip over the new line */
-		bfree(es, start, nblocks);
-	}
-	return es->n;
-}
-
-void
-showextent(int fd, char *pre, Extent *e)
-{
-//	fprint(fd, "%s	prev %8#p small %8#p low %8#p	e %8#p %llud len %llud	next %8#p high %8#p big %8#p",
-//			pre, e->prev, e->small, e->low, e, e->start, e->len, e->next, e->high, e->big);
-	fprint(fd, "%s%llud %llud %llud"
-				"		e %8#p"
-				"		%8#p lru %8#p"
-				"		%8#p start %8#p"
-				"		%8#p len %8#p\n",
-			pre, e->start, e->start+e->len-1, e->len,
-			e,
-			e->prev, e->next,
-			e->low, e->high,
-			e->small, e->big);
-}
-
-void
-showextentspointers(int fd, char *msg, Extents *es)
-{
-	Extent *e;
-
-	fprint(fd, "%s", msg);
-	fprint(fd, "Extents %s n %llud lowest %8#p lru %8#p nlru %d\n",
-				es->name, es->n, es->lowest, es->lru, es->nlru);
-	fprint(fd, "by blkno:\n");
-	for(e = lowest(es); e != nil; e = e->high){
-		fprint(fd, "%llud %llud %llud\n", e->start, e->start+e->len-1, e->len);
-		// showextent(fd, "	", e);
-	}
-}
-
-void
-showextentslists(int fd, char *msg, Extents *es)
-{
-	Extent *e;
-
-	fprint(fd, "%s", msg);
-	fprint(fd, "Extents %s n %llud", es->name, es->n);
-	if(es->lowest)
-		fprint(fd, " lowest (%llud %llud %llud)",
-				es->lowest->start,
-				es->lowest->start+es->lowest->len-1,
-				es->lowest->len);
-	else
-		fprint(fd, " lowest %8#p", es->lowest);
-
-	if(es->lru)
-		fprint(fd, " lru (%llud %llud %llud) ",
-				es->lru->start,
-				es->lru->start+es->lru->len-1,
-				es->lru->len);
-	else
-		fprint(fd, " lru %8#p ", es->lru);
-	fprint(fd, "nlru %d\n", es->nlru);
-
-	fprint(fd, "by blkno:\n");
-	for(e = lowest(es); e != nil; e = e->high){
-		fprint(fd, "%llud %llud %llud\n", e->start, e->start+e->len-1, e->len);
-		// showextent(fd, "	", e);
-	}
-	if(es->lowest != nil){
-		fprint(fd, "by size:\n");
-		for(e = smallest(es); e != nil; e = e->big){
-			fprint(fd, "%llud %llud %llud\n", e->start, e->start+e->len-1, e->len);
-			// showextent(fd, "	", e);
-		}
-	}
-	if(es->lru != nil){
-		fprint(fd, "lru:\n");
-		e = es->lru;
-		do{
-			fprint(fd, "%llud %llud %llud\n", e->start, e->start+e->len-1, e->len);
-			e=e->next;
-		}while(e != nil && e != es->lru);
-	}
-}
-
-void
-showextents(int fd, char *msg, Extents *es)
-{
-	Extent *e;
-
-	fprint(fd, "%s", msg);
-	for(e = lowest(es); e != nil; e = e->high){
-		fprint(fd, "%llud %llud %llud", e->start, e->start+e->len-1, e->len);
-		// showextent(fd, "	", e);
-		fprint(fd, "\n");
-	}
-}
-
-void
-showblocknos(int fd, Extents *es)
-{
-	Extent *e;
-	u64 i;
-
-	for(e = lowest(es); e != nil; e = e->high)
-		for(i = e->start; i<e->start+e->len; i++)
-			fprint(fd, "%llud\n", i);
-}
-
-void *
-emalloc(u32 sz)
-{
-	void *v;
-
-	if((v = mallocz(sz, 1)) == nil)
-		sysfatal("emalloc: %r");
-
-	setmalloctag(v, getcallerpc(&sz));
-	return v;
-}
-
-s8 *
-estrdup(s8 *s)
-{
-	s8 *p;
-
-	p = strdup(s);
-	if(p == nil)
-		sysfatal("estrdup: %r");
-	setmalloctag(p, getcallerpc(&s));
-	return p;
-}
-
-void
-initextents(Extents *es, char *name, void (*flush)(void))
-{
-/*	if(extentsfd < 1)
-		extentsfd = open("/mnt/term/tmp/extents.raw", OWRITE);*/
-
-	es->isempty.l = &es->lck;
-	if(name != nil)
-		strncpy(es->name, name, 32);
-	es->flush = flush;
-}
-
-/*
-	Prepare an extents with the holes of es.
-	Given used blocks, shows the free blocks.
- */
-Extents *
-holes(Extents *es, Extents *inv)
-{
-	Extent *e;
-	u64 start;
-
-	if(es == nil || inv == nil)
-		return nil;
-	for(e=lowest(es); e!=nil && e->high != nil; e=e->high){
-		start = e->start+e->len;
-		bfree(inv, start, e->high->start-start);
-	}
-	return inv;
-}
--- a/extents.h
+++ /dev/null
@@ -1,58 +1,0 @@
-
-/*
- * an ordered linked list sorted by block number (->low, ->high).
- * ->big or ->small sorted by size and then block number.
- a0b87fe3412831eee80e3ed0a112181dc2aaff13
- */
-typedef struct Extent Extent;
-typedef struct Extents Extents;
-
-/*
-When allocating blocks from extents:
-1. Of all the extents with the len we need, pick the extent with the lowest blkno.
-2. If no extent of the len we need is available, then break up the smallest extent.
-*/
-struct Extent {
-	struct Extent *low, *high;	/* sorted by start */
-	struct Extent *small, *big;	/* sorted by the number of blocks in this extent */
-	u64 start;					/* where this extent starts from */
-	u64 len; 					/* how many units in this extent */
-
-	/* circular least recently used linked list limited to Nlru items */
-	struct Extent *prev, *next;
-};
-struct Extents {
-	Extent *lowest;	/* find the first block number in a jiffy */
-	QLock lck;
-	u64 n;			/* number of extents */
-	Rendez isempty; /* fully used, nothing available */
-
-	u8 nlru;		/* number of items in the lru linked list */
-	Extent *lru;	/* least recently used extent in the circular lru linked list */
-	char name[32];
-
-	void (*flush)(void);
-};
-
-extern int chatty9p;
-void	*emalloc(u32 sz);
-s8	*estrdup(s8 *s);
-void	panic(char *fmt, ...);
-s8	find(Extents *es, u64 bno);
-Extent *add(Extents *es, u64 blkno, u64 len);
-Extents *holes(Extents *es, Extents *inv);
-
-void	showblocknos(int fd, Extents *es);
-void	showextents(int fd, char *msg, Extents *es);
-void	showextentslists(int fd, char *msg, Extents *es);
-void	showextentspointers(int fd, char *msg, Extents *es);
-s32	sizeofextents(Extents *es);
-s32	saveextents(Extents *es, s8 *buf, u32 nbuf);
-s32	loadextents(Extents *es, s8 *buf, u32 nbuf);
-
-u64	 balloc(Extents *es, u64 len);
-void bfree(Extents *es, u64 blkno, u64 len);
-u64	 nfrees(Extents *es);
-
-Extent *lowest(Extents *es);
-void	initextents(Extents *es, char *name, void (*flush)(void));
--- a/tests/chkextents.rc
+++ /dev/null
@@ -1,12 +1,0 @@
-#!/bin/rc
-
-# tests the extents
-
-# cd /mnt/term/home/j/local/plan9/custom/mafs/tests/extents
-# checker.rc
-
-for(b in extents/*){
-	diff $b^/output \
-		<{cat $b^/input | 6.testextents} ||
-		echo '	'$b failed
-}
--- a/tests/extents/0/input
+++ /dev/null
@@ -1,9 +1,0 @@
-1 13
-16399 2048
-20495 2048
-26639 2048
-30735 2048
-55311 2048
-59407 2048
-63503 2033
-18447 2048
--- a/tests/extents/0/output
+++ /dev/null
@@ -1,25 +1,0 @@
-Extents testextents n 7 lowest (1 13 13) lru (16399 22542 6144) nlru 7
-by blkno:
-1 13 13
-16399 22542 6144
-26639 28686 2048
-30735 32782 2048
-55311 57358 2048
-59407 61454 2048
-63503 65535 2033
-by size:
-1 13 13
-63503 65535 2033
-26639 28686 2048
-30735 32782 2048
-55311 57358 2048
-59407 61454 2048
-16399 22542 6144
-lru:
-16399 22542 6144
-63503 65535 2033
-59407 61454 2048
-55311 57358 2048
-30735 32782 2048
-26639 28686 2048
-1 13 13
--- a/tests/extents/1/input
+++ /dev/null
@@ -1,12 +1,0 @@
-0 2
-3 11
-6159 2048
-10255 4096
-16399 2048
-20495 2048
-24591 2048
-40975 2048
-59407 2048
-64649 887
-14351 2048
-2 1
--- a/tests/extents/1/output
+++ /dev/null
@@ -1,28 +1,0 @@
-Extents testextents n 8 lowest (0 13 14) lru (0 13 14) nlru 8
-by blkno:
-0 13 14
-6159 8206 2048
-10255 18446 8192
-20495 22542 2048
-24591 26638 2048
-40975 43022 2048
-59407 61454 2048
-64649 65535 887
-by size:
-0 13 14
-64649 65535 887
-6159 8206 2048
-20495 22542 2048
-24591 26638 2048
-40975 43022 2048
-59407 61454 2048
-10255 18446 8192
-lru:
-0 13 14
-10255 18446 8192
-64649 65535 887
-59407 61454 2048
-40975 43022 2048
-24591 26638 2048
-20495 22542 2048
-6159 8206 2048
--- a/tests/extents/2/input
+++ /dev/null
@@ -1,1103 +1,0 @@
-0 8388608
--1
--1
--20
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-25 1
-85 1
-119 1
-195 1
--1
-144 1
-163 1
-296 1
-352 1
-103 1
-35 1
-66 1
-188 1
-58 1
-229 1
-98 1
-145 1
-48 1
-86 1
-100 1
-199 1
-74 1
--1
-36 1
-106 1
-118 1
-146 1
-165 1
-202 1
--1
-72 1
-354 1
-193 1
-60 1
-148 1
-167 1
-291 1
-51 1
-336 1
-37 1
-125 1
-93 1
-71 1
-149 1
-168 1
-316 1
-357 1
--1
-61 1
-96 1
-338 1
-151 1
-270 1
-318 1
-298 1
-285 1
-254 1
-113 1
-214 1
-232 1
-244 1
-308 1
-83 1
-152 1
-55 1
-190 1
-269 1
-153 1
-112 1
-320 1
-75 1
-277 1
-117 1
--1
-154 1
-280 1
-187 1
-263 1
-57 1
-97 1
-138 1
-108 1
-210 1
-213 1
-303 1
-207 1
-267 1
-94 1
-122 1
-218 1
-301 1
-40 1
-247 1
-345 1
-111 1
-253 1
--1
-198 1
-255 1
-346 1
-178 1
--1
-80 1
-272 1
-42 1
-292 1
-204 1
-179 1
-311 1
-43 1
-200 1
-348 1
-328 1
-44 1
-329 1
-45 1
-115 1
-181 1
-197 1
--1
-126 1
-133 1
-143 1
-182 1
-351 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-416 1
--- a/tests/extents/2/output
+++ /dev/null
@@ -1,77 +1,0 @@
-Extents testextents n 28 lowest (42 45 4) lru (416 416 1) nlru 243
-by blkno:
-42 45 4
-57 58 2
-60 61 2
-71 72 2
-74 75 2
-85 86 2
-93 94 2
-96 98 3
-111 113 3
-117 119 3
-125 126 2
-143 146 4
-148 149 2
-151 154 4
-167 168 2
-178 179 2
-181 182 2
-187 188 2
-197 200 4
-213 214 2
-253 255 3
-269 270 2
-291 292 2
-328 329 2
-345 346 2
-351 352 2
-416 416 1
-950 8388607 8387658
-by size:
-416 416 1
-57 58 2
-60 61 2
-71 72 2
-74 75 2
-85 86 2
-93 94 2
-125 126 2
-148 149 2
-167 168 2
-178 179 2
-181 182 2
-187 188 2
-213 214 2
-269 270 2
-291 292 2
-328 329 2
-345 346 2
-351 352 2
-96 98 3
-111 113 3
-117 119 3
-253 255 3
-42 45 4
-143 146 4
-151 154 4
-197 200 4
-950 8388607 8387658
-lru:
-416 416 1
-351 352 2
-181 182 2
-143 146 4
-125 126 2
-197 200 4
-42 45 4
-328 329 2
-178 179 2
-291 292 2
-345 346 2
-253 255 3
-111 113 3
-93 94 2
-213 214 2
-96 98 3
-57 58 2
--- a/tests/extents/3/input
+++ /dev/null
@@ -1,1888 +1,0 @@
-0 8388608
--1
--1
--20
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-25 1
-1 1
-85 1
-119 1
--1
-195 1
-235 1
-362 1
-144 1
-163 1
--1
-296 1
-352 1
-416 1
-458 1
-103 1
-35 1
-66 1
-188 1
-58 1
-229 1
-98 1
--1
-145 1
-164 1
-376 1
-48 1
-86 1
-474 1
-100 1
-492 1
-199 1
-74 1
-456 1
-114 1
-300 1
-36 1
-106 1
-450 1
-118 1
--1
-531 1
-146 1
-165 1
-202 1
-135 1
-72 1
-354 1
-493 1
-532 1
-256 1
-193 1
-514 1
-60 1
-224 1
-148 1
-167 1
-291 1
--1
-381 1
-51 1
-440 1
-336 1
-203 1
-37 1
-125 1
-93 1
--1
-71 1
-149 1
-168 1
-316 1
-52 1
-516 1
-242 1
-357 1
-61 1
-465 1
-257 1
-53 1
-96 1
-517 1
-338 1
-533 1
-151 1
-270 1
-318 1
--1
-423 1
-298 1
-442 1
-285 1
--1
-433 1
-254 1
-339 1
-113 1
-453 1
-214 1
-232 1
-244 1
-308 1
--1
-452 1
-83 1
-152 1
-171 1
-55 1
-92 1
-190 1
-269 1
-153 1
-172 1
-112 1
-320 1
-75 1
-400 1
--1
-56 1
-277 1
-65 1
-117 1
-154 1
-208 1
-280 1
-187 1
-263 1
-501 1
-57 1
-97 1
-521 1
-138 1
-470 1
-368 1
-412 1
--1
-47 1
-444 1
--1
-131 1
-480 1
-108 1
-391 1
-486 1
-367 1
-210 1
-463 1
-479 1
--1
-522 1
-213 1
-303 1
-427 1
-503 1
-207 1
-267 1
-94 1
-122 1
-102 1
-218 1
-246 1
--1
-282 1
-301 1
--1
-420 1
-487 1
-40 1
-247 1
-380 1
-345 1
-431 1
-524 1
-111 1
-158 1
-253 1
-401 1
-358 1
-198 1
--1
-255 1
-346 1
-116 1
-178 1
--1
-80 1
-326 1
-272 1
-360 1
-42 1
-126 1
-88 1
-292 1
--1
-251 1
-204 1
-387 1
-179 1
-311 1
-327 1
-43 1
-221 1
-200 1
-348 1
-439 1
-266 1
-372 1
-328 1
-489 1
-464 1
-44 1
--1
-399 1
-329 1
-411 1
-142 1
-45 1
-115 1
-181 1
-197 1
--1
-177 1
-133 1
-370 1
-375 1
-162 1
-143 1
-182 1
-351 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-530 1
-274 1
--- a/tests/extents/3/output
+++ /dev/null
@@ -1,13 +1,0 @@
-Extents testextents n 3 lowest (274 274 1) lru (274 274 1) nlru 3
-by blkno:
-274 274 1
-530 530 1
-1486 8388607 8387122
-by size:
-274 274 1
-530 530 1
-1486 8388607 8387122
-lru:
-274 274 1
-530 530 1
-1486 8388607 8387122
--- a/tests/extents/4/input
+++ /dev/null
@@ -1,15246 +1,0 @@
-0 8388608
--1
--1
--20
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-530 1
-274 1
-25 1
-1 1
-313 1
-471 1
-85 1
-119 1
-195 1
-235 1
-362 1
-144 1
-163 1
-296 1
-644 1
-47 1
-352 1
-416 1
-458 1
-103 1
-436 1
-127 1
-35 1
-66 1
-188 1
-262 1
-91 1
-58 1
-558 1
-229 1
-98 1
-145 1
-164 1
-376 1
-661 1
-48 1
-86 1
-474 1
-616 1
-100 1
-492 1
-531 1
-544 1
--1
-545 1
-199 1
-353 1
-553 1
-677 1
-74 1
-512 1
-90 1
-456 1
-114 1
-300 1
-402 1
-36 1
-106 1
-450 1
-118 1
-146 1
--1
-551 1
-165 1
-202 1
-135 1
-72 1
-354 1
-493 1
-532 1
-678 1
-389 1
-256 1
-554 1
-193 1
-448 1
-123 1
-225 1
-422 1
-514 1
-60 1
-224 1
-216 1
-110 1
-148 1
-167 1
-291 1
-315 1
-555 1
-381 1
-51 1
--1
-440 1
-336 1
-418 1
-203 1
-37 1
-125 1
-136 1
-93 1
-546 1
-605 1
-613 1
-71 1
-149 1
-168 1
-316 1
-663 1
-390 1
-457 1
-52 1
-516 1
-606 1
-681 1
-242 1
-357 1
-624 1
-273 1
-61 1
-150 1
-465 1
-595 1
-582 1
-701 1
-257 1
--1
-53 1
-107 1
-96 1
-517 1
-608 1
-682 1
-338 1
-533 1
-151 1
-270 1
-318 1
-423 1
-571 1
-298 1
-442 1
--1
-702 1
-285 1
-433 1
-24 1
-254 1
-297 1
-339 1
-683 1
-113 1
-453 1
-567 1
-214 1
-232 1
-244 1
-308 1
-452 1
-38 1
-83 1
-152 1
-171 1
-393 1
-258 1
-55 1
-92 1
-243 1
--1
-575 1
-190 1
-269 1
-574 1
-598 1
-153 1
-172 1
-206 1
-112 1
-320 1
-654 1
-75 1
-635 1
-400 1
-56 1
-87 1
-277 1
-576 1
-65 1
-405 1
-117 1
-154 1
-208 1
-276 1
-406 1
-280 1
-187 1
-263 1
-501 1
--1
-614 1
-57 1
-97 1
-250 1
-521 1
-579 1
-138 1
-470 1
-649 1
-368 1
-412 1
-444 1
-131 1
-480 1
--1
-599 1
-108 1
-391 1
-486 1
-667 1
-367 1
-210 1
-230 1
-502 1
-463 1
-479 1
-522 1
-577 1
-213 1
-668 1
-566 1
-303 1
-427 1
-503 1
-539 1
-207 1
-267 1
-344 1
-461 1
-94 1
-122 1
-410 1
-102 1
-218 1
-246 1
-81 1
-282 1
-301 1
-669 1
-420 1
-487 1
-578 1
-40 1
-573 1
-627 1
--1
-247 1
-380 1
-345 1
-564 1
-629 1
-431 1
-524 1
-639 1
-658 1
-689 1
-177 1
-111 1
-325 1
-158 1
-251 1
-626 1
-253 1
-401 1
-601 1
-569 1
-590 1
-358 1
-404 1
-198 1
-255 1
-346 1
-505 1
-287 1
-116 1
-525 1
-178 1
-377 1
-80 1
-326 1
-272 1
-543 1
-388 1
-604 1
-671 1
-360 1
-488 1
-643 1
-42 1
-126 1
-88 1
--1
-347 1
-227 1
-292 1
-625 1
-630 1
-204 1
-387 1
-526 1
-179 1
-311 1
-631 1
-327 1
-691 1
-69 1
-43 1
-221 1
-200 1
-348 1
-439 1
-266 1
-372 1
-596 1
-383 1
-328 1
-489 1
-541 1
-619 1
-464 1
-673 1
-44 1
-212 1
--1
-366 1
-265 1
-399 1
-588 1
-329 1
-411 1
-536 1
-460 1
-312 1
-371 1
-161 1
-241 1
-142 1
-245 1
-45 1
-115 1
-181 1
-197 1
-133 1
-563 1
-370 1
--1
-700 1
-653 1
-375 1
-650 1
-660 1
-162 1
-236 1
-143 1
-182 1
-351 1
-365 1
-632 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-22 1
-129 1
-23 1
-1226 1
--1
-1152 1
-1287 1
-331 1
-927 1
-552 1
-833 1
-869 1
-695 1
-84 1
-234 1
-591 1
-184 1
-1086 1
-185 1
-491 1
-1133 1
-777 1
-469 1
-676 1
-850 1
-1259 1
-1016 1
-1207 1
-511 1
-128 1
-758 1
-1004 1
--1
-804 1
-836 1
-1227 1
-1256 1
-219 1
-995 1
-1154 1
-824 1
-239 1
-414 1
-696 1
-897 1
-978 1
-1001 1
-1131 1
-1159 1
-1323 1
-1036 1
-799 1
-559 1
-826 1
-1062 1
-361 1
-560 1
-738 1
-734 1
--1
-823 1
-851 1
-735 1
-911 1
-1017 1
-620 1
-288 1
-302 1
-333 1
-1228 1
-1267 1
-965 1
-1068 1
-1121 1
-744 1
-314 1
-134 1
-983 1
-49 1
-834 1
-994 1
-954 1
-981 1
-852 1
-24 1
-950 1
-976 1
-1018 1
-1209 1
-295 1
-305 1
-228 1
-76 1
-581 1
-837 1
-1178 1
-542 1
-872 1
-147 1
-698 1
-121 1
-166 1
-1283 1
-662 1
--1
-720 1
-355 1
-475 1
-937 1
-973 1
-1175 1
-679 1
-853 1
-1258 1
-792 1
-1005 1
-1019 1
-59 1
-334 1
-941 1
--1
-915 1
-335 1
-454 1
-1079 1
-101 1
-813 1
-1058 1
-1167 1
-722 1
-248 1
-120 1
-68 1
-231 1
-396 1
-873 1
-133 1
-438 1
-1080 1
-827 1
-1165 1
-1314 1
-929 1
-1039 1
-1211 1
-580 1
-495 1
-680 1
-778 1
-854 1
-515 1
-443 1
-760 1
-261 1
-289 1
-971 1
-264 1
-356 1
-1118 1
--1
-210 1
-393 1
--1
-1106 1
-1129 1
-874 1
-756 1
-1112 1
-1234 1
-466 1
-1040 1
--1
-1212 1
-307 1
-1077 1
-496 1
-95 1
-791 1
-1007 1
-855 1
-337 1
-797 1
-805 1
-818 1
-993 1
-421 1
-1240 1
-240 1
-772 1
-1134 1
-1193 1
-1238 1
-169 1
-317 1
-875 1
-939 1
-742 1
-800 1
-1268 1
-221 1
-570 1
-890 1
-967 1
-1105 1
-497 1
-462 1
-1113 1
--1
-972 1
-816 1
-947 1
-447 1
-609 1
-568 1
-1262 1
-1291 1
-541 1
--1
-220 1
-787 1
-398 1
--1
-736 1
-839 1
-431 1
-811 1
-814 1
-830 1
-170 1
-481 1
-664 1
-876 1
-284 1
-434 1
-435 1
-550 1
-498 1
-916 1
-1214 1
-54 1
-518 1
-903 1
-987 1
-1103 1
-857 1
-730 1
-761 1
-535 1
-211 1
-538 1
-1265 1
-828 1
-969 1
-191 1
-382 1
-721 1
-1195 1
-1294 1
-319 1
-961 1
--1
-547 1
-877 1
-1166 1
-590 1
-703 1
-1043 1
-753 1
-751 1
-363 1
-340 1
-562 1
-1150 1
-767 1
-858 1
-949 1
-1024 1
-397 1
-467 1
-708 1
-840 1
-1008 1
-484 1
-808 1
-926 1
-485 1
-641 1
-634 1
-878 1
-1044 1
-704 1
-822 1
-899 1
-280 1
-473 1
-500 1
-281 1
-684 1
-859 1
-642 1
-1025 1
-1090 1
-321 1
-996 1
-1197 1
--1
-271 1
-879 1
-705 1
-970 1
-39 1
-912 1
-268 1
-342 1
-741 1
-901 1
-1247 1
-712 1
-928 1
-990 1
-482 1
-593 1
-932 1
-1117 1
-724 1
-725 1
-1182 1
-155 1
-385 1
-841 1
-444 1
-748 1
-209 1
-1046 1
-880 1
-1146 1
--1
-699 1
-1156 1
-186 1
-294 1
-775 1
-788 1
-884 1
-1218 1
--1
-322 1
-1266 1
-774 1
-825 1
-904 1
-1006 1
-451 1
-1027 1
-1109 1
-594 1
-175 1
-706 1
-156 1
-766 1
-104 1
-714 1
-948 1
-1012 1
-924 1
-1047 1
-1125 1
-1145 1
-618 1
--1
-768 1
-780 1
-70 1
-1143 1
-1219 1
-124 1
-77 1
-409 1
-785 1
-688 1
-953 1
-176 1
-483 1
-1130 1
-324 1
-707 1
-1095 1
-157 1
-645 1
-940 1
-746 1
-843 1
-977 1
-1104 1
-1048 1
-1076 1
-739 1
-1066 1
-1115 1
-764 1
-793 1
-428 1
-504 1
-806 1
-829 1
-139 1
-1126 1
-726 1
-803 1
-763 1
-309 1
--1
-1148 1
-863 1
-902 1
-1173 1
-415 1
-1029 1
-364 1
-1082 1
-1140 1
-754 1
-752 1
-1092 1
-670 1
-844 1
-445 1
-455 1
-41 1
-717 1
-933 1
-1183 1
-1245 1
-1263 1
-615 1
-260 1
-906 1
--1
-1244 1
-962 1
-449 1
-476 1
-690 1
-864 1
-437 1
-896 1
-424 1
-883 1
-821 1
-888 1
-1332 1
-1050 1
-1242 1
-1307 1
-359 1
-845 1
-895 1
-468 1
-602 1
-984 1
-1114 1
-369 1
-765 1
-1064 1
-769 1
-429 1
-62 1
-413 1
-801 1
-1087 1
-1297 1
-73 1
-997 1
-968 1
-1051 1
-140 1
-672 1
-1157 1
-512 1
-846 1
-1153 1
--1
-832 1
-919 1
-1014 1
-1088 1
-1101 1
-728 1
-783 1
-963 1
-283 1
-966 1
-1071 1
-527 1
-1132 1
-194 1
-633 1
-723 1
-652 1
-1184 1
-1315 1
-180 1
-432 1
-394 1
-160 1
-807 1
--1
-819 1
-891 1
-1052 1
-141 1
-992 1
-770 1
-612 1
-847 1
-931 1
-349 1
-82 1
-508 1
-711 1
-1083 1
-1089 1
-192 1
-392 1
-478 1
-718 1
-790 1
--1
-341 1
-999 1
-1224 1
-89 1
-419 1
-528 1
-100 1
-812 1
-934 1
-1289 1
-1328 1
-922 1
-1172 1
-651 1
-586 1
-1161 1
-1163 1
-105 1
-290 1
-1096 1
-771 1
-237 1
-674 1
-892 1
-350 1
--1
-1081 1
-719 1
-802 1
-395 1
-648 1
-189 1
-249 1
-529 1
-820 1
-974 1
-1099 1
-330 1
-622 1
-750 1
-378 1
-79 1
-958 1
-988 1
-1034 1
-1054 1
-183 1
-238 1
-374 1
-386 1
-46 1
-99 1
-675 1
-898 1
-1255 1
-849 1
-1177 1
-1282 1
-1296 1
-1334 1
-510 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-964 1
-0 1
-299 1
-920 1
-362 1
-1522 1
-1530 1
-439 1
-328 1
-154 1
-1479 1
-1317 1
-632 1
--1
-1470 1
-905 1
-1107 1
-1288 1
-1072 1
-1055 1
-479 1
--1
-1466 1
-1560 1
-401 1
-1367 1
-691 1
-422 1
-163 1
-1500 1
-625 1
-579 1
-1505 1
--1
-34 1
-373 1
-230 1
-835 1
-383 1
-332 1
-379 1
-1343 1
-918 1
-1059 1
-647 1
-870 1
-663 1
-440 1
-1387 1
-1438 1
-1056 1
-1272 1
-381 1
-517 1
-1035 1
-525 1
-1260 1
-1615 1
-1618 1
-1243 1
-97 1
-1318 1
-1368 1
-1599 1
-1341 1
-551 1
-910 1
-1304 1
-25 1
-123 1
-178 1
-111 1
-1542 1
-1594 1
-223 1
--1
-279 1
-649 1
--1
-375 1
-1510 1
--1
-1579 1
-1097 1
--1
-1190 1
-1322 1
-74 1
-1060 1
-871 1
-589 1
-697 1
-1388 1
-1257 1
-315 1
-1356 1
-122 1
-316 1
-430 1
-914 1
-1369 1
-1003 1
-558 1
-243 1
-1249 1
-417 1
-1057 1
-543 1
-1491 1
-795 1
-1229 1
-63 1
-646 1
-727 1
-286 1
-1454 1
-564 1
-553 1
-50 1
-67 1
-627 1
-92 1
-494 1
-991 1
-44 1
-1248 1
-569 1
-1108 1
-1346 1
-102 1
-55 1
-1448 1
-1544 1
-377 1
--1
-1581 1
-418 1
--1
-81 1
-522 1
--1
-1230 1
-1321 1
--1
-563 1
-109 1
--1
-345 1
-1347 1
--1
-1116 1
-1191 1
--1
-115 1
-548 1
--1
-236 1
-57 1
--1
-1269 1
-554 1
--1
-87 1
-673 1
--1
-1561 1
-1300 1
--1
-85 1
-1463 1
--1
-1563 1
-404 1
--1
-894 1
-1446 1
--1
-600 1
-408 1
-838 1
--1
-1231 1
-1497 1
--1
-1192 1
-1337 1
--1
-270 1
-985 1
--1
-909 1
-1336 1
--1
-205 1
-472 1
--1
-638 1
-452 1
--1
-1278 1
-556 1
--1
-921 1
-35 1
--1
-107 1
-573 1
--1
-943 1
-1021 1
-1434 1
-226 1
--1
-749 1
-301 1
--1
-671 1
-250 1
--1
-1422 1
-549 1
-817 1
--1
-420 1
-1138 1
--1
-1324 1
-1274 1
--1
-126 1
-493 1
-743 1
--1
-513 1
-1518 1
--1
-143 1
-1293 1
--1
-759 1
-1392 1
--1
-1102 1
-1120 1
--1
-1309 1
-658 1
--1
-930 1
-1041 1
--1
-1213 1
-678 1
--1
-1566 1
-583 1
--1
-1232 1
-856 1
--1
-588 1
-610 1
--1
-557 1
-917 1
--1
-127 1
-1162 1
-907 1
-399 1
-810 1
-199 1
-1194 1
-1284 1
--1
-441 1
-938 1
-733 1
--1
-339 1
-1073 1
--1
-794 1
-227 1
-352 1
--1
-1042 1
-661 1
--1
-217 1
-1490 1
--1
-272 1
-587 1
-235 1
-73 1
-79 1
-147 1
-46 1
-637 1
-1151 1
-1279 1
-276 1
-599 1
-534 1
-1023 1
-540 1
-781 1
-470 1
-60 1
-410 1
-488 1
-1344 1
-1414 1
-1313 1
-960 1
-1431 1
-1488 1
-1533 1
-208 1
-606 1
-389 1
-1348 1
-1513 1
-232 1
-1149 1
-499 1
-251 1
-1100 1
-519 1
-171 1
-1375 1
-1405 1
-776 1
-900 1
-453 1
-1271 1
-1303 1
-411 1
-1196 1
-913 1
-1340 1
-665 1
-1295 1
-1395 1
-601 1
-47 1
-667 1
-325 1
-153 1
-572 1
-1467 1
-1569 1
-729 1
-304 1
-520 1
-1176 1
-1376 1
-1406 1
-64 1
-1270 1
-1433 1
-412 1
-709 1
-710 1
-173 1
-1011 1
-442 1
-1311 1
-576 1
-1534 1
-124 1
-666 1
-908 1
-946 1
-668 1
-1360 1
-567 1
-446 1
-1217 1
-611 1
-713 1
-592 1
-58 1
-188 1
-274 1
-655 1
-686 1
-1408 1
-796 1
-1026 1
-69 1
-639 1
-456 1
-367 1
-326 1
-174 1
-201 1
-951 1
-745 1
-384 1
-71 1
-461 1
-782 1
-1198 1
-1084 1
-1170 1
-1397 1
-1164 1
-669 1
-1460 1
-1009 1
-285 1
-689 1
-343 1
-1327 1
-936 1
-975 1
-532 1
-860 1
-1378 1
-347 1
-577 1
-110 1
-2 20
-323 1
-390 1
-112 1
-1199 1
-108 1
-1353 1
-1398 1
-640 1
-881 1
-681 1
-1361 1
-287 1
-1420 1
-885 1
-130 1
-523 1
-1275 1
-628 1
-862 1
-1280 1
-164 1
-1028 1
-1139 1
-533 1
-458 1
-146 1
-327 1
-244 1
-1002 1
-1155 1
-291 1
-450 1
-1110 1
-1493 1
-1111 1
-148 1
-1452 1
-1200 1
-36 1
-86 1
-731 1
-682 1
-1220 1
-1306 1
-303 1
-189 1
-1185 1
-37 1
-1462 1
-1528 1
-1573 1
-1000 1
--1
-1233 1
-1186 1
-292 1
--1
-1374 1
-125 1
--1
-1503 1
-1437 1
-1465 1
-1142 1
-203 1
-116 1
-882 1
-1168 1
-1286 1
-463 1
-925 1
-1 1
-460 1
-1049 1
-258 1
-1400 1
-1013 1
-1201 1
-952 1
-1276 1
-616 1
-530 1
-1339 1
-619 1
-259 1
-786 1
-1290 1
-1574 1
-293 1
-893 1
-1468 1
-1320 1
-214 1
-636 1
-1174 1
-1179 1
-629 1
-1030 1
-654 1
-1486 1
-464 1
--1
-256 1
-1428 1
-1524 1
-104 1
-132 1
-222 1
-889 1
-505 1
-1401 1
-1075 1
-1252 1
-1202 1
-1239 1
-1312 1
-1277 1
-480 1
-1443 1
--1
-1455 1
-506 1
-1292 1
-135 1
-1222 1
-584 1
-1187 1
-1281 1
-715 1
-471 1
-207 1
-1478 1
-700 1
-329 1
-1180 1
-1299 1
-1363 1
-1425 1
-1402 1
-1458 1
-1203 1
-595 1
-179 1
-1253 1
-507 1
-1345 1
-477 1
-1223 1
-320 1
--1
-1124 1
-357 1
-172 1
-1459 1
-1119 1
-1427 1
-1499 1
-72 1
-732 1
-193 1
-692 1
-866 1
-159 1
-501 1
-400 1
-1135 1
-255 1
-1136 1
--1
-1364 1
-1424 1
-1094 1
-1529 1
-1593 1
-1204 1
-1305 1
-300 1
-516 1
-613 1
-56 1
-149 1
-650 1
--1
-1338 1
-336 1
-1502 1
-1577 1
-1621 1
-1188 1
-167 1
-182 1
-106 1
-459 1
-956 1
-1169 1
-693 1
-867 1
-1181 1
-1254 1
-1033 1
-423 1
-1442 1
-42 1
-224 1
-1558 1
-955 1
-80 1
-1365 1
-536 1
-762 1
-848 1
-388 1
-1015 1
-98 1
-354 1
-1539 1
-78 1
-1237 1
-982 1
-1225 1
-1333 1
-1410 1
-1301 1
-1308 1
-1617 1
--1
-136 1
-177 1
-370 1
-1429 1
-1492 1
-868 1
-1065 1
-1319 1
-561 1
-694 1
-195 1
-659 1
-1137 1
-1264 1
-1404 1
-187 1
-202 1
-503 1
-144 1
-490 1
--1
-740 1
-887 1
-1559 1
-252 1
-165 1
-348 1
-391 1
-1471 1
-509 1
-1206 1
-75 1
-103 1
-521 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-1511 1
-783 1
-642 1
-892 1
-965 1
-542 1
-1189 1
-371 1
-1211 1
-648 1
-1158 1
-1355 1
-1085 1
-524 1
-23 1
-798 1
-245 1
-295 1
-706 1
-57 1
-1034 1
-1019 1
-1628 1
-424 1
-97 1
--1
-131 1
-578 1
-568 1
-1541 1
-403 1
-1517 1
-1624 1
-1519 1
-321 1
-198 1
-630 1
-481 1
-254 1
-1323 1
-864 1
-1483 1
-264 1
-1527 1
-1620 1
-1209 1
-414 1
-1261 1
-1477 1
-82 1
-378 1
-1036 1
-385 1
-305 1
-504 1
-1133 1
-1208 1
-447 1
-590 1
-332 1
-1612 1
-581 1
-91 1
--1
-797 1
-306 1
-597 1
-1043 1
-215 1
-614 1
-662 1
-1148 1
-1197 1
-342 1
-717 1
-278 1
-942 1
-526 1
-537 1
-265 1
-1635 1
-1648 1
-266 1
-547 1
-1054 1
-180 1
-41 1
-486 1
-1166 1
-197 1
-487 1
--1
-816 1
-1328 1
-438 1
-416 1
-200 1
-912 1
-1219 1
-482 1
-394 1
-1580 1
-121 1
-1326 1
-216 1
-489 1
-242 1
-1476 1
-59 1
-695 1
-1038 1
-518 1
-777 1
-85 1
-836 1
-1016 1
-1370 1
-1464 1
-246 1
-142 1
-1227 1
-1207 1
-434 1
-99 1
-331 1
-699 1
-317 1
-444 1
-834 1
-790 1
-755 1
-1351 1
-1330 1
--1
-39 1
-664 1
-574 1
-239 1
-802 1
-262 1
-1210 1
--1
-1447 1
-1485 1
-1123 1
-701 1
-115 1
-623 1
-989 1
-1371 1
-1062 1
-571 1
-1020 1
-338 1
-380 1
-1545 1
-1121 1
--1
-594 1
-1582 1
-1583 1
-478 1
-774 1
-1092 1
-294 1
-1050 1
-993 1
-1391 1
-863 1
-0 1
-83 1
-218 1
-670 1
-555 1
-284 1
-915 1
-1525 1
-1565 1
--1
-334 1
-643 1
-702 1
-178 1
-931 1
-1115 1
-398 1
-1350 1
-1372 1
-1064 1
-1095 1
-1159 1
-405 1
-1546 1
-888 1
-219 1
-469 1
-805 1
-359 1
-906 1
-927 1
-970 1
-427 1
-485 1
-1008 1
-760 1
-1099 1
-1419 1
-1101 1
-1634 1
-1469 1
-672 1
-1235 1
-604 1
-1357 1
-1236 1
-346 1
-1600 1
-929 1
-1018 1
-1440 1
-770 1
-1067 1
-365 1
-544 1
-1022 1
-546 1
--1
-84 1
-406 1
-919 1
-591 1
-634 1
-750 1
-1079 1
-1627 1
-150 1
--1
-45 1
-1393 1
-1228 1
-44 1
-1091 1
-605 1
-319 1
--1
-1066 1
-435 1
-1655 1
-426 1
-1567 1
-166 1
-1071 1
-1153 1
-307 1
-443 1
-1521 1
-1117 1
--1
-267 1
-1461 1
-559 1
-1548 1
-902 1
-137 1
-656 1
-751 1
-922 1
-1334 1
-433 1
-1258 1
-793 1
-402 1
-1349 1
-275 1
-688 1
-566 1
-1359 1
-1068 1
-1568 1
-157 1
-739 1
-1215 1
-168 1
-675 1
-206 1
-212 1
-1472 1
-1118 1
-953 1
-368 1
-607 1
-945 1
-959 1
--1
-1585 1
-1144 1
-1436 1
-374 1
-156 1
-1182 1
-1409 1
-160 1
-609 1
-409 1
-1224 1
-617 1
-1216 1
-209 1
-565 1
-425 1
-271 1
-685 1
-1432 1
-379 1
-249 1
-775 1
-1507 1
-1508 1
-998 1
-1550 1
-753 1
-980 1
-120 1
-1082 1
-1010 1
-1310 1
-454 1
-903 1
-455 1
-324 1
-586 1
-1045 1
-1396 1
-1607 1
-1608 1
--1
-1106 1
-1147 1
-282 1
-119 1
-901 1
-88 1
-716 1
-1302 1
-1238 1
-428 1
-1074 1
-1377 1
-1407 1
-552 1
-1656 1
-381 1
-983 1
-281 1
-283 1
-652 1
-161 1
-1551 1
-1589 1
-413 1
-112 1
-177 1
-42 1
-130 1
-167 1
-98 1
-153 1
-108 1
-933 1
-155 1
-958 1
-392 1
-145 1
--1
-1564 1
-633 1
--1
-1096 1
-340 1
--1
-273 1
-1329 1
--1
-1263 1
-1150 1
-768 1
-55 1
-728 1
-1161 1
-1195 1
-580 1
-635 1
-657 1
-737 1
-935 1
-1145 1
-467 1
-163 1
-1494 1
-687 1
-861 1
-383 1
--1
-937 1
-62 1
--1
-747 1
-1069 1
--1
-1416 1
-1552 1
--1
-981 1
-231 1
--1
-1086 1
-1421 1
--1
-1430 1
-842 1
--1
-1514 1
-1445 1
--1
-1526 1
-1535 1
--1
-603 1
-1325 1
--1
-175 1
-213 1
--1
-1609 1
-335 1
-1473 1
--1
-1291 1
-972 1
--1
-800 1
-1496 1
--1
-1146 1
-449 1
--1
-1316 1
-279 1
--1
-451 1
-1109 1
--1
-1570 1
-476 1
--1
-38 1
-784 1
--1
-1572 1
-1379 1
--1
-1417 1
-1588 1
--1
-883 1
-674 1
--1
-764 1
-984 1
--1
-43 1
-1587 1
--1
-1553 1
-535 1
--1
-990 1
-186 1
-1087 1
--1
-969 1
-877 1
--1
-372 1
-698 1
--1
-1531 1
-712 1
--1
-1415 1
-891 1
--1
-696 1
-1639 1
--1
-437 1
-612 1
--1
-1103 1
-995 1
--1
-93 1
-40 1
--1
-419 1
-1399 1
--1
-436 1
-1283 1
--1
-631 1
-500 1
--1
-220 1
-1241 1
--1
-448 1
-608 1
--1
-1630 1
-1475 1
--1
-1352 1
-369 1
--1
-1234 1
-260 1
--1
-290 1
-491 1
--1
-939 1
-1165 1
--1
-344 1
-979 1
--1
-1070 1
-1128 1
--1
-350 1
-407 1
--1
-1037 1
-310 1
--1
-560 1
-1619 1
-845 1
-593 1
-221 1
-1285 1
-1554 1
-841 1
-240 1
-763 1
-999 1
-497 1
-812 1
-1586 1
-1296 1
-736 1
-1063 1
-1536 1
-268 1
-462 1
-1362 1
-473 1
-1221 1
-308 1
-261 1
--1
-684 1
-363 1
-851 1
-100 1
-1157 1
-974 1
-191 1
-1266 1
-826 1
-190 1
-1381 1
-723 1
-1298 1
-1590 1
-846 1
-1606 1
-987 1
-1342 1
-683 1
-1555 1
-641 1
--1
-778 1
-1515 1
-263 1
--1
-176 1
-432 1
--1
-1297 1
-341 1
-957 1
-1450 1
-748 1
-528 1
-926 1
-318 1
-1605 1
-622 1
-585 1
-779 1
-1412 1
-865 1
-1141 1
-850 1
-967 1
-1031 1
-1456 1
-1556 1
-1645 1
-465 1
-1012 1
-788 1
-1614 1
-1140 1
-1171 1
-1273 1
-1354 1
-1314 1
-184 1
-1489 1
-923 1
-756 1
-101 1
-570 1
-598 1
--1
-878 1
-1523 1
-738 1
-228 1
-988 1
-358 1
-742 1
-884 1
-1382 1
-940 1
-1383 1
-947 1
-971 1
-196 1
-1449 1
-1495 1
--1
-741 1
-1193 1
-1439 1
-1046 1
-81 1
-1014 1
-734 1
-703 1
-1601 1
-192 1
-1052 1
-1516 1
-1167 1
-366 1
-1403 1
-618 1
-766 1
-54 1
-48 1
-313 1
-1024 1
-1177 1
-515 1
--1
-116 1
-896 1
-204 1
-1160 1
-475 1
-1506 1
-1053 1
-502 1
-1557 1
-890 1
-704 1
-1626 1
-92 1
-644 1
--1
-1267 1
-1596 1
-1240 1
-1287 1
-1659 1
-34 1
-1127 1
-1205 1
-1616 1
-337 1
-818 1
-791 1
-277 1
-677 1
-360 1
-129 1
-227 1
-1435 1
-1025 1
-1184 1
-1268 1
-1592 1
-128 1
-1178 1
-429 1
-1048 1
-314 1
-977 1
-1649 1
-1078 1
-1385 1
-837 1
-1093 1
-22 1
-1474 1
-133 1
-911 1
-356 1
-495 1
-705 1
-1366 1
-539 1
-1578 1
-194 1
-508 1
--1
-50 1
-1247 1
-386 1
-679 1
-545 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-1604 1
-541 1
--1
-713 1
-881 1
-1637 1
-1039 1
-794 1
-1501 1
-287 1
-964 1
-792 1
-898 1
-1250 1
-1595 1
-840 1
-1386 1
-1481 1
-1658 1
-1400 1
-649 1
-654 1
-1491 1
-1687 1
--1
-304 1
-1479 1
-1404 1
-616 1
-516 1
-1312 1
-1459 1
-1084 1
-647 1
-532 1
-807 1
-89 1
-328 1
-323 1
-159 1
-1423 1
-785 1
-94 1
-1040 1
-317 1
-806 1
-551 1
-975 1
-1353 1
-1185 1
-253 1
-1212 1
-899 1
-207 1
-997 1
-442 1
-1482 1
-1129 1
-1072 1
-961 1
-1225 1
-726 1
-80 1
-663 1
-835 1
--1
-1492 1
-1327 1
-1499 1
-1676 1
-707 1
-87 1
-1113 1
-135 1
-1094 1
-136 1
-1364 1
-1458 1
-1631 1
-829 1
-1388 1
-367 1
-172 1
-1154 1
-233 1
-152 1
-361 1
-1242 1
-761 1
-1218 1
-1061 1
-678 1
-1356 1
-952 1
--1
-1698 1
-944 1
-759 1
-1498 1
-719 1
-109 1
-490 1
-1500 1
-1562 1
-708 1
-210 1
-968 1
-512 1
-874 1
-1097 1
-1395 1
-517 1
-1274 1
-126 1
-740 1
-1122 1
--1
-1543 1
-1044 1
-772 1
-1397 1
-376 1
-852 1
-450 1
-769 1
-1486 1
-624 1
-538 1
-1186 1
-982 1
-1690 1
-23 1
-39 1
-787 1
-985 1
-1389 1
-1073 1
-122 1
-1558 1
-872 1
-848 1
-1431 1
-480 1
-1502 1
-1058 1
-132 1
-1136 1
-729 1
-1100 1
-505 1
-345 1
-506 1
-1441 1
-651 1
--1
-1338 1
-1076 1
-1130 1
-525 1
-711 1
-1244 1
-483 1
-882 1
-913 1
-269 1
-302 1
-1390 1
-1243 1
-255 1
-292 1
--1
-1237 1
-1313 1
-1559 1
-285 1
-446 1
-1503 1
-1426 1
-214 1
-99 1
-257 1
-241 1
-1429 1
-247 1
-1077 1
-710 1
-1321 1
-288 1
-144 1
-83 1
-333 1
-165 1
-484 1
-1245 1
-828 1
-1187 1
-179 1
-224 1
-1408 1
-1000 1
-1581 1
--1
-950 1
-986 1
-1335 1
-765 1
-1257 1
-164 1
-577 1
-1108 1
-839 1
-860 1
-1446 1
-610 1
-694 1
-180 1
-188 1
-587 1
-343 1
-1116 1
-1180 1
-582 1
-95 1
-548 1
-962 1
-963 1
-767 1
-47 1
-921 1
-823 1
-1230 1
-824 1
-1425 1
-1522 1
-1524 1
-1566 1
-1188 1
--1
-340 1
-575 1
-1418 1
-994 1
-1277 1
-1707 1
-1009 1
-1533 1
-259 1
-1260 1
-799 1
-1405 1
-862 1
-65 1
-138 1
-217 1
-1621 1
-894 1
-1183 1
-373 1
-606 1
-1684 1
-88 1
-1547 1
-1613 1
-430 1
-1602 1
-1623 1
-873 1
-1433 1
-68 1
-1256 1
-948 1
-238 1
-111 1
-1299 1
-613 1
-1011 1
-556 1
-561 1
-1264 1
-1111 1
-1641 1
-1139 1
--1
-885 1
-955 1
-907 1
-230 1
-71 1
-1300 1
-1512 1
-60 1
--1
-1142 1
-375 1
-1149 1
-511 1
-1632 1
-1168 1
-676 1
-1646 1
-804 1
-1363 1
-1434 1
-1270 1
-1051 1
-1080 1
-1532 1
-1683 1
-875 1
-724 1
-621 1
-1394 1
-183 1
-520 1
-1422 1
-1119 1
-1229 1
-387 1
-697 1
-887 1
-549 1
-90 1
--1
-879 1
-236 1
-1319 1
-1636 1
-808 1
-377 1
-1151 1
-660 1
-248 1
-757 1
-1549 1
-752 1
-274 1
-1599 1
-576 1
-583 1
-1437 1
-1271 1
-492 1
-1331 1
-529 1
-1015 1
-521 1
-690 1
-655 1
-1343 1
-889 1
-77 1
-243 1
--1
-773 1
-1155 1
-104 1
-1657 1
-37 1
-76 1
-24 1
-1510 1
-1286 1
-453 1
-1438 1
-235 1
-1272 1
-1677 1
-819 1
-55 1
-1375 1
-1705 1
-91 1
-346 1
-1262 1
-1643 1
-388 1
-1226 1
-291 1
-522 1
-1021 1
-1365 1
-1279 1
-714 1
-830 1
-509 1
-653 1
-949 1
-64 1
-1163 1
-722 1
-336 1
-384 1
-1162 1
-1563 1
-754 1
--1
-1442 1
-1303 1
-1544 1
-252 1
-1057 1
-149 1
-463 1
-1251 1
-1023 1
-79 1
-1672 1
-468 1
-801 1
-1571 1
-1610 1
-205 1
-531 1
--1
-954 1
-211 1
-855 1
-258 1
-353 1
-86 1
-1304 1
-96 1
-460 1
-1143 1
-1282 1
-1026 1
-103 1
-456 1
-472 1
--1
-599 1
-1248 1
--1
-1398 1
-22 1
-194 1
-204 1
-1528 1
-4 1
-355 1
-1320 1
-886 1
-1693 1
-661 1
-925 1
-1252 1
-611 1
-709 1
-1702 1
-815 1
-1174 1
-417 1
-691 1
-401 1
-762 1
-858 1
-844 1
-776 1
-457 1
-584 1
-1454 1
--1
-536 1
-303 1
-185 1
-876 1
-1305 1
-423 1
-63 1
--1
-18 1
-1028 1
-408 1
-300 1
-420 1
-1662 1
-671 1
-930 1
-1339 1
-1692 1
-789 1
-51 1
-297 1
-1380 1
-404 1
-1402 1
-854 1
-820 1
--1
-893 1
-659 1
--1
-629 1
-1306 1
-474 1
-1650 1
-600 1
-320 1
-299 1
-746 1
-1292 1
-56 1
-59 1
-572 1
-917 1
-1265 1
-148 1
-689 1
-936 1
-589 1
-158 1
-298 1
-567 1
-1194 1
-1042 1
-498 1
-127 1
-1700 1
-976 1
-237 1
-1513 1
-1462 1
-510 1
-771 1
-619 1
-1132 1
-1480 1
-354 1
-1640 1
-1293 1
-615 1
-632 1
--1
-1685 1
-1575 1
-620 1
-322 1
-1172 1
-1577 1
-244 1
-329 1
-938 1
-327 1
-311 1
-596 1
-847 1
-1196 1
-154 1
-199 1
-208 1
-25 1
-686 1
-1463 1
-326 1
-1466 1
-849 1
-822 1
-431 1
-1035 1
-573 1
-640 1
-397 1
-114 1
-718 1
-107 1
-811 1
-1308 1
-1652 1
-1368 1
-271 1
-1576 1
-1105 1
-601 1
-943 1
-909 1
-54 1
--1
-312 1
-466 1
-895 1
-182 1
-193 1
-1206 1
-1059 1
-866 1
-810 1
-1488 1
-1032 1
-118 1
-1332 1
-1290 1
-1470 1
-1467 1
-1542 1
--1
-646 1
-658 1
-745 1
-410 1
-66 1
-1049 1
-400 1
-1538 1
-825 1
-1191 1
-1675 1
-273 1
-645 1
-1173 1
-946 1
--1
-169 1
-496 1
-880 1
-72 1
-1152 1
-418 1
-1584 1
-357 1
-477 1
-1471 1
--1
-123 1
-1295 1
-1374 1
-1468 1
-195 1
-1324 1
-309 1
-1065 1
-1369 1
--1
-1617 1
-203 1
-666 1
-330 1
-1670 1
-36 1
-853 1
-780 1
-569 1
-393 1
-396 1
-960 1
-399 1
-910 1
-14 1
-411 1
-1427 1
-1709 1
-360 1
--1
-316 1
-1060 1
-1593 1
-503 1
-1217 1
-181 1
-1453 1
-817 1
-1615 1
-422 1
-1478 1
-1170 1
-1490 1
-151 1
-1484 1
-782 1
-667 1
-680 1
-928 1
-1540 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-222 1
-347 1
-186 1
-935 1
-219 1
-1117 1
-605 1
--1
-633 1
-642 1
-1553 1
-1017 1
-1570 1
-749 1
-728 1
-912 1
-1054 1
-1556 1
-145 1
-1608 1
-1197 1
-1511 1
-1564 1
-177 1
-473 1
-747 1
-1070 1
-1588 1
-1497 1
-1428 1
-131 1
-553 1
-1387 1
-415 1
-764 1
--1
-1037 1
-781 1
-1473 1
-1118 1
-643 1
-469 1
-1334 1
-1148 1
-1469 1
-20 1
-1686 1
-150 1
-535 1
-537 1
-1205 1
-1477 1
-439 1
-386 1
-763 1
-918 1
-1246 1
-673 1
-1 1
-435 1
-1645 1
-319 1
-1401 1
-1053 1
-513 1
-1407 1
-1004 1
-993 1
-162 1
-481 1
-571 1
-736 1
-1493 1
-838 1
-1219 1
-1036 1
-19 1
-279 1
-1349 1
-213 1
-191 1
--1
-1236 1
-1378 1
-1294 1
-574 1
-1580 1
-1614 1
-321 1
-1109 1
-489 1
-161 1
-119 1
-901 1
-995 1
-1128 1
-693 1
-1357 1
-61 1
-1307 1
-6 1
-97 1
-163 1
-341 1
-612 1
-493 1
-366 1
-1221 1
-795 1
-413 1
-775 1
-816 1
-53 1
-1638 1
-1370 1
-160 1
-1329 1
-282 1
-1622 1
-550 1
-869 1
-1005 1
-1664 1
-1703 1
-1006 1
--1
-324 1
-585 1
-171 1
-734 1
-760 1
-470 1
-455 1
-1140 1
-991 1
-931 1
-1359 1
-1107 1
-232 1
-914 1
-856 1
-42 1
-175 1
-458 1
-965 1
-268 1
-1585 1
-530 1
-1102 1
-228 1
-864 1
-1160 1
-143 1
-688 1
-157 1
-539 1
-475 1
-748 1
-725 1
-973 1
-1007 1
-614 1
-1074 1
--1
-187 1
-441 1
-1362 1
-1565 1
-295 1
-313 1
-939 1
--1
-679 1
-717 1
-842 1
-7 1
-1708 1
-1254 1
-1138 1
-134 1
-1043 1
-444 1
-192 1
-284 1
-1280 1
-1409 1
-276 1
-125 1
-1255 1
-959 1
-706 1
-953 1
-741 1
--1
-459 1
-1561 1
-392 1
-1110 1
-1358 1
-735 1
-1448 1
-200 1
-1548 1
-223 1
-485 1
-1514 1
-1373 1
-1124 1
-595 1
-812 1
-1208 1
-371 1
-1487 1
-1412 1
-1268 1
-1419 1
-1175 1
-515 1
-623 1
-1178 1
-1534 1
-1377 1
-1550 1
-519 1
-942 1
-590 1
-351 1
-916 1
-1642 1
-1665 1
-206 1
-1071 1
-1258 1
-790 1
-1214 1
-58 1
-1347 1
--1
-1341 1
-1093 1
-896 1
-1447 1
-1439 1
-306 1
-732 1
-568 1
-1673 1
-1333 1
-834 1
-93 1
-198 1
-487 1
-1460 1
-1712 1
-684 1
-1013 1
-1379 1
-1578 1
-1063 1
-100 1
-424 1
-261 1
-984 1
-139 1
-209 1
-727 1
-1530 1
-461 1
-318 1
--1
-1104 1
-1261 1
-245 1
-1449 1
-1345 1
-791 1
-407 1
-1372 1
-1464 1
-315 1
-1660 1
-1496 1
-793 1
-124 1
--1
-280 1
-40 1
-229 1
-389 1
-0 1
-1082 1
-118 1
-88 1
-832 1
-859 1
-1120 1
-1098 1
-1201 1
--1
-358 1
-1668 1
-1263 1
-132 1
-256 1
-113 1
-106 1
-170 1
-1125 1
-1376 1
-682 1
-967 1
-1546 1
-1086 1
-308 1
-36 1
-133 1
-337 1
-1649 1
-449 1
-1704 1
-1267 1
-903 1
-945 1
-712 1
-947 1
-699 1
-701 1
-1391 1
-227 1
-565 1
-45 1
-110 1
-1222 1
-239 1
-1531 1
-1633 1
-625 1
-1618 1
-900 1
-557 1
--1
-598 1
-1545 1
--1
-1661 1
-1666 1
-212 1
-857 1
-721 1
-1083 1
-452 1
-1529 1
-1667 1
-951 1
-562 1
-1393 1
-1485 1
-1624 1
-1655 1
-348 1
-1223 1
-1024 1
-445 1
-1518 1
-41 1
-1131 1
-905 1
-597 1
-138 1
--1
-1147 1
-871 1
-285 1
-288 1
-805 1
-850 1
-1508 1
-988 1
-1164 1
-1340 1
-3 1
-421 1
-843 1
-501 1
-1443 1
-379 1
-185 1
-1150 1
-331 1
-756 1
-16 1
-352 1
-471 1
-17 1
-234 1
-293 1
-365 1
-742 1
-1656 1
-636 1
-919 1
-1159 1
-11 1
-526 1
-105 1
-310 1
-294 1
-38 1
-84 1
-335 1
-1283 1
-409 1
-1285 1
-1582 1
-43 1
--1
-902 1
-698 1
-1517 1
-296 1
-201 1
-778 1
-1085 1
-356 1
-990 1
-491 1
-518 1
-1153 1
-246 1
-1573 1
-115 1
-1050 1
-129 1
-1203 1
-1204 1
-440 1
-57 1
-1241 1
-631 1
-657 1
-1018 1
-744 1
-1231 1
-499 1
-1002 1
-249 1
-1156 1
-286 1
--1
-564 1
-340 1
--1
-1287 1
-751 1
-784 1
-1413 1
-1318 1
-62 1
-594 1
-1235 1
-813 1
-1088 1
-1504 1
-73 1
-374 1
-1030 1
-1569 1
-507 1
-1325 1
--1
-1506 1
-349 1
-592 1
-1233 1
-932 1
-488 1
-254 1
--1
-1240 1
-888 1
-1551 1
-1659 1
-332 1
-958 1
-343 1
-1200 1
-555 1
-1291 1
-464 1
-920 1
-1311 1
--1
-114 1
-1696 1
-544 1
-416 1
-770 1
-482 1
-877 1
-1663 1
-1483 1
-1165 1
-1465 1
-1182 1
-1001 1
-1089 1
-827 1
-731 1
-1003 1
-1326 1
-1092 1
-803 1
--1
-527 1
-101 1
-314 1
-262 1
-1181 1
-652 1
-1046 1
-357 1
-630 1
-478 1
-1302 1
-1619 1
-394 1
-1626 1
-626 1
-1444 1
-545 1
-8 1
-190 1
-933 1
--1
-251 1
-130 1
-1275 1
-529 1
-420 1
-463 1
-472 1
-1184 1
-1253 1
-1457 1
-1410 1
-796 1
-369 1
-216 1
-650 1
-189 1
-1537 1
-35 1
-1351 1
-578 1
-196 1
-634 1
-1047 1
-558 1
-451 1
-1310 1
-1020 1
-1451 1
-753 1
-546 1
-68 1
-173 1
-147 1
-883 1
-66 1
-497 1
-664 1
-372 1
-508 1
-1189 1
-677 1
--1
-716 1
-1348 1
-514 1
-602 1
-429 1
-536 1
-225 1
-934 1
--1
-1520 1
-108 1
-758 1
-1639 1
-382 1
-339 1
-563 1
-1414 1
-1694 1
-1314 1
-700 1
-528 1
-547 1
-1574 1
-723 1
-1384 1
-289 1
-202 1
-884 1
-603 1
-496 1
-833 1
-137 1
-504 1
-1193 1
-1699 1
-448 1
-1607 1
-1027 1
-1281 1
-1489 1
-1475 1
-82 1
-755 1
-628 1
-1360 1
-870 1
-1317 1
-1616 1
-15 1
-1096 1
-218 1
-1145 1
-702 1
-1316 1
-981 1
--1
-868 1
-641 1
-897 1
-1055 1
-1691 1
-1671 1
-591 1
-278 1
-1594 1
-465 1
-1592 1
-1421 1
-1596 1
-911 1
-1583 1
-498 1
-941 1
-1195 1
-687 1
-120 1
-102 1
-1452 1
-1029 1
-978 1
-1625 1
-1536 1
-250 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-750 1
-427 1
-1361 1
-1212 1
-839 1
-1395 1
-887 1
-257 1
-1552 1
-393 1
-1134 1
-1323 1
-996 1
-627 1
-263 1
-1528 1
-1220 1
-765 1
-1544 1
-1471 1
-1640 1
-400 1
-224 1
-302 1
--1
-533 1
-412 1
-1100 1
-1646 1
-640 1
-531 1
-1415 1
--1
-666 1
-552 1
-1069 1
-505 1
-220 1
-432 1
-503 1
-1067 1
-1322 1
-1198 1
-685 1
-798 1
-635 1
-385 1
--1
-1257 1
-577 1
-238 1
-516 1
-1512 1
-1490 1
-230 1
-48 1
-674 1
-1650 1
-1597 1
-543 1
-1467 1
-1706 1
-467 1
-1353 1
-291 1
-560 1
-23 1
-410 1
-1516 1
-83 1
-644 1
-1127 1
-408 1
-1342 1
-1540 1
-570 1
-680 1
-649 1
-1690 1
-149 1
-923 1
-1515 1
-1073 1
-153 1
-705 1
-148 1
-1135 1
-462 1
-476 1
-997 1
-1028 1
-1652 1
-363 1
--1
-502 1
-1456 1
-176 1
-1417 1
-774 1
-281 1
-1008 1
-1022 1
-1609 1
-1084 1
-646 1
-1398 1
-1557 1
-769 1
-1404 1
-1019 1
-724 1
-117 1
-1239 1
-89 1
-722 1
-1040 1
-1114 1
-992 1
--1
-1662 1
-1130 1
-1572 1
-1049 1
-1713 1
-107 1
-1707 1
-810 1
-619 1
-1277 1
-442 1
-629 1
-1183 1
-1405 1
-1000 1
-1532 1
-1188 1
-21 1
-1541 1
-419 1
-1600 1
-1620 1
-782 1
-1237 1
-910 1
-1292 1
-193 1
-1224 1
-255 1
-194 1
-258 1
-876 1
-1137 1
-1604 1
-1670 1
-283 1
-1380 1
-1605 1
--1
-121 1
-1494 1
-937 1
-155 1
-64 1
-1424 1
-446 1
-338 1
-890 1
-789 1
-1115 1
-891 1
-1371 1
-581 1
-1141 1
-430 1
-1533 1
-1242 1
-969 1
-569 1
-1549 1
-406 1
-1598 1
-69 1
-1202 1
-841 1
-1119 1
-483 1
-1293 1
-576 1
-659 1
-1238 1
-269 1
-695 1
--1
-362 1
-837 1
-1386 1
-1179 1
-1634 1
-450 1
-672 1
-1705 1
-689 1
-847 1
-1177 1
-1298 1
-1366 1
-1560 1
-1243 1
-970 1
-103 1
-1505 1
-776 1
-1672 1
-12 1
-1689 1
-317 1
-1299 1
-1247 1
-609 1
-271 1
-1587 1
-1590 1
-611 1
-718 1
-1436 1
-305 1
-814 1
-1629 1
-632 1
-1166 1
--1
-384 1
-267 1
-1269 1
-63 1
-342 1
-929 1
-761 1
-554 1
-826 1
-1568 1
-952 1
-1559 1
-240 1
-1635 1
-1290 1
-1687 1
-831 1
-862 1
-845 1
-683 1
-399 1
-443 1
-1432 1
-1066 1
-921 1
-1026 1
-1274 1
-1669 1
-971 1
-580 1
-573 1
-713 1
-387 1
-457 1
-1658 1
-587 1
-1169 1
-9 1
-1215 1
-892 1
--1
-944 1
-561 1
-1445 1
-1129 1
-1312 1
-822 1
--1
-987 1
-1021 1
-1278 1
-1276 1
-1157 1
-59 1
-375 1
-41 1
-447 1
-37 1
-785 1
-322 1
-819 1
-899 1
-1284 1
-1123 1
-1521 1
-1461 1
-1612 1
-972 1
-924 1
-1081 1
-1344 1
-777 1
-1437 1
-1303 1
-1259 1
-1216 1
-583 1
-1385 1
-166 1
-820 1
--1
-662 1
-135 1
-1251 1
-1678 1
-1697 1
-729 1
-799 1
-1014 1
-586 1
-846 1
-1644 1
-1295 1
-495 1
-167 1
-169 1
-172 1
-307 1
-466 1
-606 1
-783 1
-1087 1
-551 1
-1155 1
-11 1
--1
-143 1
-1641 1
-66 1
-323 1
-1438 1
-893 1
-1234 1
-109 1
-894 1
-844 1
-127 1
-247 1
-116 1
-414 1
-44 1
-1296 1
-1161 1
-1209 1
-999 1
-860 1
-1589 1
-982 1
-320 1
-1273 1
-1158 1
--1
-824 1
-270 1
--1
-1392 1
-1126 1
-579 1
-1199 1
-1429 1
-1507 1
-304 1
-6 1
-73 1
-395 1
-1539 1
-418 1
-370 1
-378 1
-468 1
-13 1
-1122 1
-1698 1
-1305 1
-78 1
-359 1
-1653 1
-1228 1
-1252 1
-651 1
-325 1
-184 1
-154 1
-333 1
--1
-215 1
-1196 1
-671 1
-164 1
-848 1
-391 1
-65 1
-1509 1
-75 1
-426 1
-767 1
-1431 1
-95 1
-99 1
-534 1
-388 1
-804 1
--1
-57 1
-311 1
-549 1
-1675 1
-1306 1
-875 1
-1105 1
-1442 1
-599 1
-112 1
-1702 1
-96 1
-1282 1
-123 1
-1154 1
-886 1
-1262 1
-287 1
-1602 1
-45 1
-1396 1
--1
-438 1
-1352 1
--1
-1586 1
-730 1
-1289 1
-55 1
-79 1
-336 1
-696 1
-852 1
-1011 1
-704 1
-917 1
-1015 1
-1525 1
-1446 1
-94 1
-56 1
-663 1
-1226 1
-1099 1
-865 1
-380 1
-622 1
-474 1
-179 1
-436 1
-54 1
-1692 1
-593 1
-1382 1
-368 1
-1420 1
-1192 1
-1610 1
-360 1
-1637 1
-25 1
-792 1
-1711 1
-743 1
--1
-122 1
-1339 1
-773 1
-236 1
-299 1
-621 1
-1038 1
-1411 1
-1526 1
--1
-851 1
-381 1
-787 1
-720 1
-648 1
-1171 1
-1399 1
-681 1
-1035 1
-1454 1
-1031 1
-188 1
-417 1
-500 1
--1
-4 1
-895 1
-638 1
-1535 1
-589 1
-1613 1
-145 1
-1232 1
-126 1
-694 1
-1709 1
-361 1
-1368 1
-538 1
-541 1
-151 1
-243 1
-1217 1
-203 1
-620 1
-1364 1
-390 1
-402 1
-1041 1
-1486 1
-131 1
-354 1
-1144 1
-480 1
-1679 1
-624 1
-1680 1
-1101 1
-1403 1
-108 1
-821 1
-67 1
-1579 1
-786 1
-639 1
-861 1
-1327 1
-904 1
-1065 1
--1
-1513 1
-807 1
-60 1
-76 1
-248 1
-675 1
-1369 1
-1078 1
-71 1
-51 1
-1603 1
-938 1
-1023 1
--1
-943 1
-22 1
-182 1
-878 1
-18 1
-490 1
-1091 1
-85 1
-752 1
--1
-1270 1
-264 1
-199 1
-532 1
-617 1
-1430 1
-72 1
-968 1
-1617 1
-1466 1
-540 1
-1048 1
-524 1
-800 1
-1350 1
-613 1
-656 1
-1079 1
-312 1
-1218 1
-879 1
-46 1
-1167 1
-1111 1
-1510 1
-183 1
-1567 1
--1
-492 1
-1143 1
-907 1
-1080 1
-1354 1
-1103 1
-1012 1
-608 1
-1462 1
-759 1
-158 1
-714 1
-665 1
-260 1
-1315 1
-715 1
-226 1
-1309 1
-373 1
-1375 1
-655 1
-1336 1
--1
-1180 1
-1095 1
-1628 1
-772 1
-880 1
-817 1
-835 1
-828 1
-559 1
-1522 1
-456 1
-1213 1
-144 1
-936 1
-754 1
-165 1
-253 1
--1
-1229 1
-1355 1
-957 1
-210 1
-889 1
-1463 1
--1
-1094 1
-1647 1
-433 1
-214 1
-678 1
-290 1
-10 1
-768 1
-946 1
-301 1
-1701 1
-1210 1
-1337 1
-815 1
-1394 1
-1519 1
-994 1
-1468 1
-68 1
-976 1
-1172 1
-881 1
-327 1
-928 1
-667 1
-1558 1
-353 1
-1250 1
-1388 1
-1524 1
-91 1
-1657 1
-1009 1
-676 1
-208 1
-1363 1
-1651 1
--1
-142 1
-1256 1
-423 1
-1470 1
-1425 1
-692 1
-217 1
-252 1
-1075 1
-802 1
-454 1
-344 1
-915 1
-1523 1
-863 1
-1301 1
-542 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-654 1
-981 1
-275 1
-571 1
-1699 1
-712 1
-882 1
-328 1
-1207 1
-216 1
-111 1
-1016 1
-1044 1
-527 1
-564 1
-962 1
-668 1
-1096 1
-630 1
-1452 1
-1074 1
-1184 1
-332 1
--1
-178 1
-1328 1
-1416 1
-1631 1
-343 1
-1616 1
-219 1
-1170 1
-329 1
-1195 1
-1208 1
-404 1
-1185 1
--1
-452 1
-1538 1
-159 1
-1319 1
-838 1
-1223 1
--1
-1064 1
-703 1
-922 1
-324 1
-1153 1
-1125 1
-1716 1
-1607 1
-1097 1
-1173 1
-669 1
-1266 1
-1211 1
-289 1
-631 1
-249 1
-37 1
-725 1
-403 1
-308 1
-941 1
-988 1
-5 1
-486 1
--1
-221 1
-274 1
-1530 1
-1186 1
-1492 1
-196 1
-614 1
-623 1
-1511 1
-1061 1
-870 1
-701 1
-350 1
-1264 1
-1717 1
-233 1
-1124 1
-206 1
-633 1
-1182 1
-1349 1
-239 1
-382 1
-636 1
-1428 1
-565 1
-1378 1
-1146 1
-930 1
-647 1
-1001 1
-24 1
-394 1
-993 1
-1106 1
-517 1
-707 1
-958 1
-132 1
-1659 1
--1
-459 1
-439 1
-1547 1
-170 1
-1737 1
-70 1
-1191 1
-1406 1
-1688 1
-960 1
-241 1
-494 1
-1487 1
-788 1
-634 1
-744 1
-1286 1
-1356 1
--1
-1736 1
-478 1
-995 1
-1409 1
-832 1
-161 1
-484 1
-195 1
-1542 1
-1187 1
-481 1
-392 1
--1
-652 1
-137 1
-643 1
-1738 1
-927 1
-762 1
-1401 1
-174 1
-686 1
-40 1
-1294 1
-856 1
-615 1
-708 1
-15 1
-1077 1
-1534 1
-1674 1
-351 1
-911 1
-1464 1
-869 1
-900 1
-1606 1
-1120 1
-555 1
-1013 1
-572 1
-222 1
-268 1
--1
-1412 1
-1686 1
-1253 1
-877 1
-734 1
-1739 1
-1753 1
-413 1
-1566 1
-520 1
-1347 1
-485 1
-673 1
-1531 1
-62 1
-1113 1
-1656 1
-1695 1
-1034 1
-709 1
-0 1
-964 1
-688 1
-1480 1
-575 1
-950 1
-1190 1
-906 1
-1476 1
-168 1
-335 1
-1020 1
-1608 1
-955 1
-128 1
-607 1
-1472 1
-507 1
-463 1
-1423 1
-888 1
-372 1
-1565 1
-1740 1
-152 1
-1285 1
--1
-1493 1
-1056 1
-940 1
-171 1
-1583 1
-979 1
-660 1
-1721 1
-280 1
-355 1
-898 1
-491 1
-1400 1
-1148 1
-1495 1
-1407 1
-220 1
-1556 1
-991 1
-296 1
-1121 1
-508 1
-464 1
-1433 1
-582 1
-905 1
-871 1
-1359 1
-584 1
-1300 1
-288 1
-1310 1
-1311 1
-87 1
-1402 1
-1189 1
-717 1
-1474 1
--1
-493 1
-650 1
-1489 1
-294 1
-1329 1
-131 1
-45 1
-1082 1
-1434 1
-585 1
-1457 1
-1562 1
-1214 1
-954 1
-1563 1
-306 1
-1139 1
-548 1
-434 1
-578 1
-1175 1
-1287 1
-119 1
-1723 1
-21 1
-1162 1
-98 1
-1408 1
-1469 1
--1
-1027 1
-169 1
-758 1
-1691 1
-1696 1
-727 1
-1543 1
-1573 1
-114 1
-1235 1
-1498 1
-1258 1
-1281 1
-1043 1
-1029 1
-1201 1
-386 1
-605 1
-106 1
-130 1
-519 1
-81 1
-1116 1
-1665 1
-1271 1
-1743 1
-1222 1
-932 1
-501 1
-916 1
-1302 1
-1109 1
-998 1
-1593 1
--1
-352 1
-1591 1
-141 1
-1313 1
-823 1
-1724 1
-1272 1
-1150 1
-286 1
--1
-567 1
-1418 1
-760 1
-1550 1
-99 1
-728 1
-1254 1
-43 1
-748 1
-346 1
-1108 1
-254 1
-20 1
-557 1
--1
-1083 1
-934 1
-1227 1
-1279 1
-1255 1
-498 1
-1595 1
-211 1
-684 1
-120 1
-104 1
-1331 1
-504 1
-733 1
-1164 1
-313 1
-379 1
-770 1
-1050 1
-397 1
--1
-46 1
-303 1
-731 1
-918 1
-563 1
-1391 1
-670 1
-1133 1
-1030 1
-1085 1
-489 1
-257 1
-25 1
-1381 1
-80 1
-829 1
-331 1
-1654 1
-1599 1
-431 1
-945 1
-265 1
-896 1
-204 1
-1332 1
-825 1
-1348 1
-849 1
-775 1
-796 1
-1047 1
-1333 1
-58 1
-1128 1
-396 1
-1700 1
-234 1
-1233 1
-1163 1
-521 1
-1325 1
-947 1
-1756 1
-48 1
-158 1
-757 1
-679 1
-1414 1
--1
-63 1
-1025 1
-794 1
-186 1
-1370 1
-1071 1
-1003 1
-1314 1
-420 1
-1372 1
-1377 1
-726 1
-989 1
-1225 1
-1059 1
-1219 1
-843 1
-833 1
-1351 1
-202 1
-514 1
-1585 1
-261 1
-47 1
-14 1
-316 1
-209 1
-951 1
-913 1
-244 1
-1249 1
-298 1
-645 1
-853 1
-428 1
-781 1
-966 1
-1176 1
-742 1
-1326 1
--1
-813 1
-477 1
-858 1
-180 1
-1622 1
-1145 1
-597 1
-903 1
-657 1
-366 1
-1107 1
-1561 1
-1748 1
-953 1
-1536 1
-133 1
-977 1
-1435 1
-874 1
-1682 1
-1473 1
-1694 1
--1
-1648 1
-1241 1
-506 1
-1390 1
-1527 1
-376 1
-77 1
-535 1
-455 1
-227 1
-1413 1
-461 1
-1275 1
-1033 1
-1324 1
-134 1
-192 1
-1615 1
-1057 1
-1749 1
-282 1
-965 1
-124 1
-1465 1
-1703 1
-437 1
-1248 1
-933 1
-980 1
-855 1
-102 1
-1666 1
-49 1
-1488 1
-1357 1
-1667 1
-185 1
-337 1
-756 1
-735 1
-300 1
-8 1
-1601 1
-779 1
-1138 1
--1
-711 1
-223 1
--1
-1529 1
-101 1
-885 1
--1
-19 1
-1450 1
--1
-884 1
-967 1
-1036 1
-1367 1
-1508 1
-1761 1
-691 1
-173 1
-883 1
-367 1
-908 1
-1673 1
-1576 1
-562 1
-1731 1
-276 1
-803 1
-1642 1
-146 1
-345 1
-1151 1
-1230 1
-7 1
-1052 1
--1
-1594 1
-1149 1
--1
-1387 1
-1174 1
--1
-601 1
-1633 1
--1
-1503 1
-51 1
--1
-797 1
-50 1
--1
-1194 1
-1335 1
--1
-604 1
-2 1
--1
-1297 1
-973 1
--1
-187 1
-292 1
--1
-1677 1
-949 1
--1
-44 1
-1448 1
--1
-1671 1
-566 1
--1
-197 1
-364 1
--1
-866 1
-706 1
--1
-309 1
-763 1
--1
-100 1
-897 1
--1
-1485 1
-374 1
--1
-1727 1
-389 1
--1
-191 1
-319 1
-448 1
--1
-340 1
-326 1
--1
-1260 1
-1708 1
--1
-1627 1
-1732 1
--1
-547 1
-805 1
--1
-469 1
-59 1
-1206 1
--1
-1032 1
-377 1
-509 1
--1
-88 1
-1514 1
--1
-1165 1
-830 1
--1
-1683 1
-1575 1
--1
-857 1
-1142 1
-1362 1
--1
-1046 1
-34 1
--1
-1010 1
-766 1
--1
-472 1
-175 1
--1
-1764 1
-628 1
--1
-1054 1
-978 1
--1
-1203 1
-499 1
--1
-1762 1
-818 1
--1
-925 1
-262 1
--1
-1320 1
-349 1
--1
-935 1
-277 1
--1
-746 1
-1231 1
--1
-449 1
-574 1
-682 1
-816 1
-842 1
-1569 1
--1
-1426 1
-1427 1
--1
-207 1
-1596 1
--1
-471 1
-1578 1
--1
-1068 1
-1131 1
--1
-1518 1
-591 1
--1
-1710 1
-745 1
--1
-784 1
-653 1
-1393 1
-1419 1
-1092 1
-229 1
-723 1
-626 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-1555 1
-424 1
-108 1
-790 1
-587 1
-1289 1
-827 1
-35 1
-1345 1
-526 1
-915 1
-1425 1
-1612 1
-510 1
-592 1
-1758 1
-495 1
-1084 1
-1243 1
-559 1
--1
-1361 1
-414 1
-1040 1
-1069 1
-984 1
-792 1
-1196 1
-263 1
-1273 1
-109 1
-946 1
-1038 1
-695 1
-1679 1
-1048 1
-1157 1
--1
-430 1
-608 1
-1598 1
-1735 1
-651 1
-982 1
--1
-86 1
-1197 1
-208 1
-1577 1
-1093 1
-3 1
-226 1
-1242 1
-641 1
-749 1
-1154 1
-1341 1
-1100 1
-67 1
-1098 1
-1102 1
-1160 1
-1031 1
-1579 1
-290 1
-985 1
-1614 1
-1712 1
-406 1
-121 1
-160 1
-525 1
-1263 1
-458 1
--1
-659 1
-609 1
-37 1
-93 1
-850 1
-88 1
-1655 1
-1384 1
-1198 1
-1306 1
-76 1
-1445 1
-715 1
-1540 1
-267 1
-194 1
-1404 1
-1645 1
-642 1
-1421 1
-264 1
-1188 1
-1042 1
-110 1
-217 1
-412 1
-281 1
-804 1
-1379 1
-246 1
-189 1
-295 1
--1
-1625 1
-666 1
-822 1
-678 1
-648 1
-1690 1
-1276 1
-227 1
-298 1
-859 1
-450 1
-1363 1
-926 1
-738 1
-697 1
-97 1
-617 1
-1265 1
-522 1
-512 1
-251 1
-135 1
-836 1
-405 1
-1295 1
-342 1
-1141 1
-806 1
-1618 1
-1086 1
-215 1
-999 1
-1386 1
-411 1
-1389 1
-1055 1
-920 1
-961 1
-440 1
-344 1
-683 1
-649 1
--1
-1446 1
-674 1
-713 1
-239 1
-944 1
-1609 1
-861 1
-243 1
-875 1
-137 1
-690 1
-658 1
-1018 1
-868 1
-1461 1
-278 1
--1
-1221 1
-312 1
-1000 1
-687 1
-1692 1
-580 1
-1062 1
-1417 1
--1
-1641 1
-553 1
-810 1
-148 1
-1298 1
-153 1
-1101 1
-22 1
-256 1
-1422 1
-482 1
-441 1
-685 1
-1535 1
-655 1
-860 1
-241 1
-375 1
-1415 1
-1467 1
-166 1
-1611 1
-1346 1
-1420 1
-1720 1
-279 1
-68 1
-1321 1
-1229 1
-1635 1
-1517 1
-589 1
-240 1
-817 1
-719 1
-1693 1
-1763 1
--1
-193 1
-370 1
-1490 1
-1580 1
-117 1
-1210 1
-1228 1
-1680 1
-1477 1
-1178 1
-371 1
-689 1
-1284 1
-1709 1
-656 1
-1466 1
-5 1
-244 1
-1571 1
-1205 1
-1005 1
-66 1
-44 1
-41 1
-919 1
-163 1
-714 1
-1649 1
-959 1
-772 1
-588 1
-616 1
-716 1
-150 1
-1496 1
-824 1
-1704 1
-453 1
-1685 1
-986 1
--1
-1024 1
-1026 1
-1339 1
-155 1
-1528 1
-1244 1
-1741 1
-692 1
-1232 1
-1701 1
-618 1
-983 1
-1581 1
-82 1
-407 1
-661 1
-284 1
-1132 1
-1058 1
-942 1
-1136 1
-826 1
-322 1
-852 1
-799 1
-136 1
-1632 1
-753 1
-1440 1
-460 1
-1491 1
-974 1
-912 1
-199 1
-151 1
-188 1
-639 1
-113 1
-465 1
-1245 1
-1564 1
-1626 1
-718 1
-663 1
-179 1
-1702 1
--1
-156 1
-415 1
-1292 1
-1087 1
-1368 1
-1613 1
-198 1
-162 1
--1
-456 1
-1200 1
-736 1
-1637 1
-1246 1
-1317 1
-1065 1
-1318 1
-524 1
--1
-497 1
-1454 1
-487 1
-1002 1
-1590 1
-183 1
-931 1
-384 1
-923 1
-914 1
-333 1
-720 1
-671 1
-1155 1
-1172 1
-1646 1
-231 1
-539 1
-1366 1
-1672 1
-963 1
-429 1
-747 1
-65 1
-40 1
-25 1
-812 1
-1004 1
-1410 1
-1481 1
-1240 1
-1304 1
-36 1
-1443 1
-273 1
-722 1
-78 1
-672 1
-851 1
-1322 1
-696 1
--1
-831 1
-939 1
-1 1
-1587 1
-573 1
-791 1
-1118 1
-821 1
-1088 1
-901 1
-11 1
-976 1
-115 1
-1274 1
-18 1
-492 1
-291 1
-1441 1
-438 1
-558 1
-956 1
-157 1
-1745 1
-1754 1
-287 1
-724 1
-385 1
-1288 1
-242 1
-1447 1
-1513 1
-1726 1
-1269 1
-1512 1
-314 1
-1063 1
-990 1
-795 1
-91 1
-283 1
-837 1
--1
-1308 1
-1636 1
-1334 1
-1111 1
-1076 1
-1283 1
-212 1
-1478 1
-1482 1
-252 1
-365 1
-594 1
-1444 1
-1451 1
-698 1
-270 1
-1506 1
-236 1
-1134 1
-528 1
-1746 1
-1755 1
-743 1
-323 1
-681 1
-75 1
-71 1
-928 1
-767 1
-1554 1
--1
-840 1
-1226 1
-1644 1
-218 1
-315 1
-629 1
-1105 1
-1315 1
-551 1
-909 1
-778 1
--1
-255 1
-839 1
-201 1
-1500 1
-1070 1
-1257 1
-811 1
-1453 1
-780 1
-801 1
-1449 1
-378 1
-637 1
-1156 1
-664 1
-1747 1
-8 1
-750 1
-544 1
-387 1
-1045 1
-200 1
-1551 1
-700 1
-339 1
-552 1
-1067 1
-1006 1
-996 1
-1471 1
-1484 1
-1019 1
-1177 1
-1455 1
-57 1
-902 1
-593 1
-1114 1
-1628 1
--1
-190 1
-1483 1
-225 1
-771 1
-307 1
-1600 1
-1620 1
-1130 1
-873 1
-752 1
-353 1
-783 1
-1166 1
-556 1
-90 1
-880 1
-854 1
-1552 1
--1
-1140 1
-834 1
--1
-620 1
-421 1
-1360 1
-948 1
-181 1
-693 1
-235 1
-60 1
-1501 1
-554 1
-1171 1
-1051 1
-1458 1
-1365 1
-1553 1
-418 1
-383 1
-299 1
-1144 1
-694 1
-992 1
-1035 1
-754 1
-729 1
-63 1
--1
-1053 1
-1456 1
-600 1
-475 1
-1137 1
-1183 1
-398 1
-444 1
-1072 1
-793 1
-1438 1
-177 1
-899 1
-530 1
-1303 1
-1502 1
-1261 1
-1475 1
-536 1
-1676 1
-1075 1
-1687 1
-1090 1
-74 1
-1459 1
-598 1
-1392 1
-419 1
-975 1
-1664 1
-9 1
-1668 1
-730 1
-1336 1
--1
-800 1
-172 1
-149 1
-390 1
-95 1
-176 1
-1104 1
-445 1
-1730 1
-635 1
-79 1
-245 1
-1159 1
-232 1
-904 1
-327 1
-537 1
-583 1
-1239 1
-1330 1
-808 1
-1089 1
-228 1
-402 1
-1112 1
--1
-550 1
-435 1
--1
-249 1
-1675 1
-1008 1
-77 1
-286 1
-373 1
-516 1
-391 1
-1012 1
-1296 1
-1168 1
-348 1
--1
-610 1
-369 1
-1572 1
-473 1
-776 1
--1
-1122 1
-258 1
-577 1
-621 1
-85 1
-1342 1
-0 1
-545 1
-1760 1
-1060 1
-1505 1
-1504 1
-590 1
-1751 1
-213 1
-230 1
-1037 1
-1015 1
-1270 1
-1099 1
-238 1
-625 1
-611 1
-1623 1
-765 1
-423 1
-1011 1
--1
-1436 1
-301 1
-399 1
-764 1
-203 1
-1293 1
-1238 1
-211 1
-1548 1
-1733 1
-644 1
-586 1
-38 1
-677 1
-1167 1
-1661 1
-546 1
-1752 1
-1549 1
-1094 1
-69 1
-1662 1
--1
-1750 1
-470 1
-721 1
-468 1
-1638 1
-1713 1
-1643 1
--1
-937 1
-1343 1
-1439 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-1224 1
-1518 1
-346 1
-451 1
-1309 1
-803 1
-900 1
-962 1
-1734 1
-646 1
-1222 1
-918 1
-1264 1
-100 1
-533 1
-922 1
-763 1
-710 1
-83 1
-1715 1
-14 1
-1092 1
-853 1
--1
-711 1
-1184 1
-830 1
-935 1
-1215 1
-3 1
-1761 1
-857 1
-426 1
-294 1
-1418 1
-679 1
-452 1
-1041 1
-1476 1
-1191 1
-1689 1
-1756 1
-366 1
-584 1
-1266 1
-1267 1
-1533 1
-1678 1
-601 1
-1025 1
-647 1
-1113 1
-1332 1
-1348 1
-1762 1
-1402 1
-987 1
-560 1
-116 1
-504 1
-427 1
-401 1
-224 1
--1
-802 1
-675 1
-917 1
-1023 1
-330 1
-1236 1
-1325 1
-1014 1
-296 1
-1230 1
-187 1
--1
-1285 1
-1667 1
-1275 1
-92 1
-128 1
-143 1
-960 1
-565 1
-4 1
-1039 1
-511 1
-250 1
-1181 1
-408 1
-432 1
-773 1
-643 1
-1299 1
-464 1
-1106 1
-122 1
-1503 1
-702 1
-921 1
-1095 1
-340 1
-358 1
-1036 1
-449 1
-1279 1
-1231 1
-1189 1
-1519 1
-950 1
-557 1
-908 1
-1531 1
-1376 1
-1259 1
-297 1
-1718 1
--1
-1527 1
-1128 1
-1187 1
-1468 1
-633 1
-1255 1
-1537 1
-433 1
-319 1
-1617 1
-866 1
-35 1
-807 1
-1634 1
--1
-123 1
-145 1
-1465 1
-930 1
-924 1
-1049 1
-667 1
-1281 1
-1248 1
-739 1
-1110 1
-1340 1
-372 1
-499 1
-1131 1
-403 1
-605 1
-1406 1
-480 1
-758 1
-1589 1
--1
-1029 1
-654 1
-386 1
-517 1
-742 1
-1703 1
-596 1
-442 1
-1286 1
-127 1
-770 1
-775 1
--1
-823 1
-1448 1
-15 1
-547 1
-1492 1
-318 1
-1588 1
-1234 1
-396 1
-1592 1
-1546 1
-796 1
-1050 1
-829 1
-568 1
-1624 1
-1697 1
-734 1
-1147 1
-345 1
-785 1
-1757 1
-1078 1
-1133 1
-170 1
-501 1
-756 1
-1214 1
-876 1
-979 1
-1202 1
-751 1
-144 1
-1344 1
-1739 1
-1350 1
--1
-856 1
-1108 1
-455 1
-991 1
-1493 1
-169 1
-1353 1
-6 1
-701 1
-1708 1
-248 1
-717 1
-469 1
-1485 1
-1271 1
-1158 1
-1698 1
-1161 1
-1516 1
-112 1
-657 1
-328 1
-585 1
-1056 1
-668 1
-1142 1
-507 1
-428 1
-489 1
-1081 1
-446 1
-638 1
-197 1
-376 1
-1488 1
-1497 1
-599 1
-869 1
--1
-1109 1
-1570 1
-878 1
-154 1
-380 1
-381 1
-1388 1
-514 1
-1052 1
-662 1
-34 1
-1272 1
-555 1
-1124 1
-1091 1
-1722 1
-89 1
-1494 1
-1153 1
-1480 1
-1409 1
-134 1
-491 1
-1054 1
-80 1
-911 1
-1059 1
-334 1
-21 1
-634 1
-1543 1
-636 1
-686 1
-182 1
-518 1
-1742 1
-788 1
-1530 1
-394 1
-1599 1
-1584 1
-1152 1
-787 1
-903 1
-285 1
-462 1
-1170 1
--1
-58 1
-1593 1
-219 1
-138 1
-64 1
-1462 1
-862 1
-343 1
-591 1
-766 1
-1021 1
-1254 1
-1529 1
-508 1
-1022 1
-1743 1
-471 1
-103 1
-1301 1
-1547 1
-1207 1
-254 1
-940 1
-1311 1
-311 1
-748 1
-1550 1
-1125 1
-1486 1
-214 1
-1199 1
-1721 1
-457 1
-247 1
-229 1
-1597 1
-952 1
-1209 1
-490 1
-488 1
-389 1
--1
-1359 1
-505 1
-1411 1
-422 1
-125 1
-578 1
-129 1
-1744 1
-210 1
-257 1
-16 1
-55 1
-410 1
-409 1
-769 1
-161 1
-1473 1
--1
-1705 1
-416 1
-627 1
-502 1
-379 1
-303 1
-725 1
-1595 1
-1351 1
-835 1
-23 1
-19 1
-1569 1
-1499 1
-7 1
-1252 1
-1396 1
-527 1
-126 1
-1716 1
-564 1
-1119 1
-269 1
-947 1
-523 1
-871 1
-858 1
-1356 1
-680 1
-261 1
--1
-1314 1
-139 1
-260 1
-205 1
-147 1
-1647 1
-266 1
-180 1
--1
-989 1
-1349 1
-779 1
-1759 1
-503 1
-431 1
-953 1
-732 1
-1413 1
-1538 1
-500 1
-361 1
-513 1
-81 1
-1064 1
-1367 1
-1732 1
-1573 1
-1326 1
-221 1
-331 1
-85 1
-65 1
-179 1
-82 1
-113 1
-121 1
-669 1
-1694 1
-1736 1
-786 1
--1
-377 1
-265 1
-1541 1
-355 1
-1706 1
-20 1
-1338 1
-744 1
-192 1
-437 1
-1663 1
-324 1
-439 1
-1277 1
-1211 1
-37 1
-1179 1
-1180 1
-1291 1
-741 1
-1117 1
--1
-1256 1
-1398 1
-1370 1
-1163 1
-1460 1
-1615 1
-595 1
-271 1
-731 1
-855 1
-1316 1
-630 1
-1320 1
-520 1
-223 1
-704 1
-1290 1
-268 1
-72 1
-1640 1
-1657 1
-1728 1
-816 1
-1225 1
-1139 1
--1
-735 1
-882 1
--1
-1469 1
-47 1
-841 1
-1385 1
-17 1
-1711 1
-768 1
-813 1
-1681 1
-515 1
-1442 1
-185 1
-1164 1
-874 1
-336 1
--1
-945 1
-1619 1
-496 1
-660 1
-1328 1
-705 1
-262 1
-1740 1
-73 1
-879 1
-263 1
-1514 1
-367 1
-612 1
-1307 1
-632 1
-988 1
-349 1
-300 1
-293 1
-865 1
-755 1
-382 1
-104 1
-958 1
-1583 1
-483 1
-1371 1
-1381 1
-1707 1
-1691 1
--1
-1369 1
-688 1
-1250 1
-461 1
-682 1
-1268 1
-541 1
-1405 1
-993 1
-397 1
-1127 1
-94 1
-814 1
-566 1
-388 1
-815 1
-1684 1
-1143 1
-1233 1
-951 1
-535 1
-927 1
-673 1
-111 1
-302 1
-782 1
-1387 1
-571 1
-316 1
-1071 1
-53 1
-62 1
-1585 1
--1
-759 1
-1710 1
--1
-38 1
-936 1
-1658 1
-521 1
-549 1
-354 1
-1669 1
-1374 1
-347 1
-570 1
-576 1
-1146 1
-1217 1
-1545 1
-481 1
-486 1
-1033 1
-1582 1
-1358 1
-1213 1
-106 1
-1057 1
-1393 1
-1671 1
-309 1
-1520 1
-1074 1
-1174 1
-1450 1
-1536 1
-1327 1
-84 1
-1621 1
-1193 1
-818 1
-761 1
-877 1
--1
-1463 1
-1216 1
-96 1
-1568 1
-1001 1
-572 1
-980 1
-567 1
-1237 1
-209 1
-1123 1
-44 1
-1194 1
-1258 1
-1487 1
-619 1
-863 1
-36 1
-1364 1
-1077 1
-1629 1
-1027 1
-1403 1
-1416 1
--1
-1472 1
-476 1
-467 1
-1457 1
-1507 1
-934 1
-220 1
-237 1
--1
-1380 1
-887 1
-292 1
-1683 1
-883 1
-107 1
-994 1
-393 1
-1670 1
-1498 1
-1656 1
-1260 1
-1631 1
-368 1
-359 1
-67 1
-1373 1
-1714 1
-1544 1
-164 1
-1085 1
-68 1
-165 1
-1423 1
-1176 1
-167 1
-604 1
-178 1
-650 1
-42 1
-1639 1
-1017 1
-797 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-1391 1
-1015 1
-915 1
-356 1
--1
-12 1
-929 1
-810 1
-1642 1
-1379 1
-1341 1
-1421 1
-1451 1
-255 1
-956 1
-51 1
-289 1
-1065 1
-1741 1
-600 1
-1101 1
-1280 1
-1212 1
-136 1
-475 1
-767 1
-1466 1
-405 1
-789 1
-327 1
-378 1
-706 1
-884 1
-1397 1
-215 1
-1024 1
-1076 1
-799 1
-798 1
-216 1
-392 1
-1727 1
-101 1
-613 1
-313 1
-124 1
-838 1
-1641 1
-1005 1
-1614 1
--1
-375 1
-1758 1
-1675 1
-1185 1
-338 1
-1382 1
-1509 1
-1331 1
-645 1
-1548 1
-406 1
--1
-1218 1
-1512 1
-1238 1
-4 1
-1523 1
-1467 1
-420 1
-326 1
-278 1
-554 1
-241 1
-171 1
-737 1
-794 1
-1676 1
-1116 1
-1186 1
-1760 1
-1247 1
-629 1
-808 1
-1365 1
-226 1
-305 1
-561 1
-1392 1
-487 1
-687 1
-1160 1
-1282 1
-538 1
-885 1
--1
-860 1
-351 1
-805 1
-1030 1
-506 1
-130 1
-1653 1
-2 1
-1696 1
-1306 1
-552 1
-22 1
-635 1
-1363 1
-335 1
-1114 1
-492 1
-700 1
-1035 1
-1276 1
-1618 1
-983 1
-1097 1
-175 1
-1007 1
-1103 1
-534 1
-295 1
-243 1
-23 1
-196 1
-727 1
-1508 1
-670 1
-118 1
-1104 1
-1719 1
-873 1
-637 1
-653 1
--1
-418 1
-1136 1
-0 1
-1668 1
-1130 1
-1672 1
-448 1
-495 1
-1107 1
-18 1
-831 1
-181 1
-780 1
-1312 1
-943 1
-592 1
-415 1
-1294 1
-1666 1
-1249 1
-284 1
-800 1
-954 1
-132 1
-1245 1
-1400 1
--1
-1598 1
-1692 1
-141 1
-905 1
-1404 1
-436 1
-1010 1
-1026 1
-90 1
-859 1
-307 1
-639 1
-1055 1
-1355 1
-663 1
-581 1
-531 1
-497 1
--1
-738 1
-920 1
-1571 1
-714 1
-822 1
-342 1
-1649 1
-593 1
-1510 1
-1120 1
-1315 1
-1073 1
-159 1
-1297 1
-981 1
-931 1
-1422 1
-1253 1
-926 1
-753 1
-133 1
-854 1
-1693 1
--1
-997 1
-575 1
-1414 1
-1410 1
-1505 1
-1220 1
-542 1
-1461 1
-91 1
-1407 1
-485 1
-1408 1
-281 1
-1008 1
-1072 1
-1652 1
-510 1
-582 1
-1542 1
-616 1
-1308 1
-1456 1
-1300 1
-1688 1
-274 1
-1342 1
-333 1
-43 1
-1082 1
-707 1
-1043 1
--1
-1724 1
-1496 1
-272 1
-321 1
-146 1
-162 1
-648 1
-92 1
-651 1
-1660 1
-913 1
-463 1
-391 1
-833 1
-512 1
-86 1
-1628 1
-740 1
-1148 1
--1
-1586 1
-655 1
-1655 1
-626 1
-628 1
-1302 1
-1084 1
-1444 1
-14 1
-1310 1
-63 1
-290 1
-168 1
-40 1
-1702 1
-712 1
-267 1
-608 1
-1401 1
-1354 1
-609 1
-259 1
-1532 1
-454 1
-163 1
-909 1
-211 1
-661 1
-806 1
--1
-912 1
-1339 1
-828 1
-1610 1
-923 1
-1749 1
-519 1
-614 1
-516 1
-677 1
-995 1
-1149 1
-412 1
-699 1
-494 1
-726 1
-435 1
-1712 1
-291 1
-621 1
-622 1
-820 1
-45 1
-1048 1
-1221 1
-1337 1
-1384 1
--1
-1567 1
-1182 1
-1594 1
-666 1
-540 1
-25 1
-665 1
--1
-733 1
-955 1
--1
-360 1
-574 1
--1
-1352 1
-1602 1
-1061 1
-1479 1
-1566 1
-618 1
-652 1
-743 1
-715 1
--1
-438 1
-1313 1
-1333 1
--1
-337 1
-1273 1
--1
-71 1
-1478 1
--1
-723 1
-1262 1
--1
-1539 1
-149 1
--1
-1470 1
-1574 1
--1
-875 1
-186 1
--1
-1528 1
-1644 1
--1
-942 1
-1232 1
--1
-1725 1
-1201 1
--1
-868 1
-674 1
--1
-1334 1
-1278 1
--1
-306 1
-1453 1
--1
-784 1
-957 1
--1
-273 1
-120 1
--1
-398 1
-1603 1
-944 1
--1
-522 1
-17 1
--1
-1151 1
-1362 1
--1
-625 1
-1575 1
--1
-536 1
-1500 1
--1
-1075 1
-961 1
--1
-685 1
-1417 1
--1
-821 1
-1200 1
--1
-1577 1
-750 1
-199 1
--1
-299 1
-1172 1
-1646 1
--1
-201 1
-56 1
--1
-1240 1
-1012 1
--1
-1154 1
-1274 1
--1
-1060 1
-559 1
--1
-708 1
-332 1
--1
-709 1
-1526 1
-1203 1
--1
-1324 1
-1596 1
--1
-363 1
-1046 1
--1
-9 1
-60 1
--1
-97 1
-1162 1
--1
-530 1
-681 1
--1
-1576 1
-690 1
--1
-387 1
-692 1
--1
-978 1
-1357 1
--1
-1464 1
-1717 1
-498 1
-1171 1
-1317 1
--1
-631 1
-1319 1
--1
-1042 1
-314 1
--1
-443 1
-939 1
--1
-1188 1
-1345 1
--1
-447 1
-55 1
--1
-793 1
-1591 1
--1
-1150 1
-1067 1
--1
-1481 1
-778 1
--1
-194 1
-1625 1
--1
-832 1
-1395 1
-1605 1
--1
-1386 1
-664 1
--1
-984 1
-774 1
-87 1
-395 1
-474 1
-350 1
-539 1
-683 1
-1704 1
-693 1
-7 1
-1190 1
-999 1
-550 1
-119 1
-1062 1
-76 1
-771 1
-1441 1
-459 1
-456 1
-222 1
-1058 1
-678 1
-1013 1
-615 1
-684 1
-8 1
-232 1
-202 1
-1578 1
-1038 1
-166 1
-1257 1
-479 1
-1263 1
-1606 1
-781 1
-902 1
-606 1
-1169 1
-117 1
-62 1
-154 1
-1587 1
-148 1
-556 1
-996 1
-1070 1
-1346 1
-1068 1
-1616 1
-41 1
-116 1
-417 1
-1003 1
-264 1
-310 1
-1204 1
-998 1
-1292 1
-78 1
-322 1
-183 1
-229 1
-203 1
-1501 1
-1737 1
-369 1
-105 1
-1535 1
-1729 1
-569 1
-1126 1
-217 1
-730 1
-1484 1
-1607 1
-48 1
-1522 1
-1534 1
-93 1
-1053 1
-728 1
-160 1
-424 1
-1011 1
-95 1
-1623 1
-1165 1
-1673 1
-783 1
-1330 1
-1270 1
-1329 1
-949 1
-280 1
-880 1
-233 1
-526 1
-341 1
-819 1
--1
-184 1
-204 1
-1633 1
-323 1
-718 1
-1608 1
-15 1
-1437 1
-1145 1
-225 1
-49 1
-11 1
-235 1
-1016 1
-69 1
-1298 1
-916 1
-938 1
-173 1
-66 1
-1726 1
-1173 1
--1
-573 1
-1080 1
-1674 1
-932 1
-589 1
-703 1
-602 1
-1651 1
-1632 1
-108 1
-371 1
-1004 1
-1504 1
-545 1
-886 1
-206 1
-597 1
-1731 1
-1521 1
-88 1
-1513 1
-50 1
-236 1
-588 1
-1141 1
-150 1
-325 1
-736 1
-904 1
-365 1
-1661 1
-1609 1
-1051 1
-1730 1
-580 1
-1228 1
-58 1
-603 1
-1028 1
-1098 1
--1
-640 1
-468 1
-1159 1
-1323 1
-1083 1
-1377 1
-423 1
-1018 1
-1047 1
-142 1
-344 1
-440 1
-1105 1
-617 1
-478 1
-445 1
-959 1
-1439 1
-757 1
-1241 1
-98 1
-907 1
-623 1
-1622 1
-1045 1
--1
-1630 1
-698 1
-548 1
-1132 1
-1175 1
-583 1
-172 1
-795 1
-110 1
-720 1
-1251 1
-1208 1
-543 1
-249 1
-1144 1
-187 1
-671 1
-384 1
-525 1
-24 1
-1390 1
-1192 1
-1399 1
-1019 1
-1659 1
-777 1
-881 1
-1020 1
-99 1
-910 1
-948 1
-114 1
-1491 1
-1645 1
-373 1
-1735 1
-598 1
-824 1
-1304 1
-1495 1
-1699 1
-444 1
--1
-188 1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
--1
-400 1
-1207 1
--- a/tests/extents/4/output
+++ /dev/null
@@ -1,24 +1,0 @@
-Extents testextents n 9 lowest (400 400 1) lru (1207 1207 1) nlru 2
-by blkno:
-400 400 1
-613 618 6
-884 900 17
-961 976 16
-1207 1207 1
-1425 1437 13
-1550 1564 15
-1605 1610 6
-1760 8388607 8386848
-by size:
-400 400 1
-1207 1207 1
-613 618 6
-1605 1610 6
-1425 1437 13
-1550 1564 15
-961 976 16
-884 900 17
-1760 8388607 8386848
-lru:
-1207 1207 1
-400 400 1
--- a/tests/extents/addabove/input
+++ /dev/null
@@ -1,2 +1,0 @@
-20 3
-40 4
--- a/tests/extents/addabove/output
+++ /dev/null
@@ -1,10 +1,0 @@
-Extents testextents n 2 lowest (20 22 3) lru (40 43 4) nlru 2
-by blkno:
-20 22 3
-40 43 4
-by size:
-20 22 3
-40 43 4
-lru:
-40 43 4
-20 22 3
--- a/tests/extents/addabove1/input
+++ /dev/null
@@ -1,2 +1,0 @@
-180 4
-250 4
--- a/tests/extents/addabove1/output
+++ /dev/null
@@ -1,10 +1,0 @@
-Extents testextents n 2 lowest (180 183 4) lru (250 253 4) nlru 2
-by blkno:
-180 183 4
-250 253 4
-by size:
-180 183 4
-250 253 4
-lru:
-250 253 4
-180 183 4
--- a/tests/extents/addbelow/input
+++ /dev/null
@@ -1,2 +1,0 @@
-250 4
-180 4
--- a/tests/extents/addbelow/output
+++ /dev/null
@@ -1,10 +1,0 @@
-Extents testextents n 2 lowest (180 183 4) lru (180 183 4) nlru 2
-by blkno:
-180 183 4
-250 253 4
-by size:
-180 183 4
-250 253 4
-lru:
-180 183 4
-250 253 4
--- a/tests/extents/addbelow1/input
+++ /dev/null
@@ -1,3 +1,0 @@
-250 4
-180 4
-100 1
\ No newline at end of file
--- a/tests/extents/addbelow1/output
+++ /dev/null
@@ -1,13 +1,0 @@
-Extents testextents n 3 lowest (100 100 1) lru (100 100 1) nlru 3
-by blkno:
-100 100 1
-180 183 4
-250 253 4
-by size:
-100 100 1
-180 183 4
-250 253 4
-lru:
-100 100 1
-180 183 4
-250 253 4
--- a/tests/extents/addbelow2/input
+++ /dev/null
@@ -1,24 +1,0 @@
-0 1
-3 1
-4 1
-9 1
-10 1
-31 1
-11 1
-30 1
-12 1
-29 1
-13 1
-24 1
-14 1
-23 1
-15 1
-22 1
-5 1
-1 1
-16 1
-6 1
-2 1
-7 1
-8 1
-17 1
--- a/tests/extents/addbelow2/output
+++ /dev/null
@@ -1,13 +1,0 @@
-Extents testextents n 3 lowest (0 17 18) lru (0 17 18) nlru 3
-by blkno:
-0 17 18
-22 24 3
-29 31 3
-by size:
-22 24 3
-29 31 3
-0 17 18
-lru:
-0 17 18
-22 24 3
-29 31 3
--- a/tests/extents/mergeabove/input
+++ /dev/null
@@ -1,3 +1,0 @@
-100 5
-110 3
-105 5
--- a/tests/extents/mergeabove/output
+++ /dev/null
@@ -1,7 +1,0 @@
-Extents testextents n 1 lowest (100 112 13) lru (100 112 13) nlru 1
-by blkno:
-100 112 13
-by size:
-100 112 13
-lru:
-100 112 13
--- a/tests/extents/mergenext/input
+++ /dev/null
@@ -1,2 +1,0 @@
-101 4
-105 4
--- a/tests/extents/mergenext/output
+++ /dev/null
@@ -1,7 +1,0 @@
-Extents testextents n 1 lowest (101 108 8) lru (101 108 8) nlru 1
-by blkno:
-101 108 8
-by size:
-101 108 8
-lru:
-101 108 8
--- a/tests/extents/mergeprevious/input
+++ /dev/null
@@ -1,2 +1,0 @@
-105 4
-101 4
--- a/tests/extents/mergeprevious/output
+++ /dev/null
@@ -1,7 +1,0 @@
-Extents testextents n 1 lowest (101 108 8) lru (101 108 8) nlru 1
-by blkno:
-101 108 8
-by size:
-101 108 8
-lru:
-101 108 8
--- a/tests/mkfile
+++ b/tests/mkfile
@@ -2,7 +2,7 @@
 
 BIN=/$objtype/bin/disk
 
-TARG=sizes offsets testextents pwrites reli nlastdatablocks testconfig # mfsck
+TARG=sizes offsets pwrites reli nlastdatablocks testconfig # mfsck
 
 OFILES=\
 	../dat.$O\
@@ -22,9 +22,6 @@
 	./6.sizes
 
 $O.testconfig:	../dat.$O ../parseconfig.$O ../misc.$O testconfig.$O
-	$LD $LDFLAGS -o $target $prereq
-
-$O.testextents:	../dat.$O ../extents.$O ../misc.$O testextents.$O
 	$LD $LDFLAGS -o $target $prereq
 
 t3:VQ:
--- a/tests/testextents.c
+++ /dev/null
@@ -1,61 +1,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../dat.h"
-#include "../extents.h"
-#include <bio.h>
-
-/*
-	test the extents functionality
-	{ echo 2 3 ; echo 100 3; } | ./6.testextents
- */
-
-int chatty9p = 0;
-
-static void
-usage(void)
-{
-	fprint(2, "usage: testextents [-D ]\n");
-	exits("usage");
-}
-
-void
-main(int argc, char *argv[])
-{
-	Extents es;
-	s8 *line, *p;
-	Biobuf *bp;
-	u64 bno, len;
-	char act;
-
-	ARGBEGIN{
-	default:	usage();
-	case 'D':	chatty9p=8; break;
-	}ARGEND
-
-	if(argc != 0)
-		usage();
-
-	bp = Bfdopen(0, OREAD);
-	Blethal(bp, nil);
-
-	initextents(&es, "testextents", nil);
-	while((line = Brdstr(bp, '\n', 1)) != nil) {
-		act = line[0];
-		if(act == '-'){
-			len = strtoull(line+1, nil, 10);
-			balloc(&es, len);
-		}else{
-			bno = strtoull(line, &p, 10);
-			p++;	/* for the space */
-			len = strtoull(p, nil, 10);
-			bfree(&es, bno, len);
-		}
-		free(line);
-	}
-
-	showextentslists(1, "", &es);
-
-	/* why bother? just exits(nil) as cinap suggests */
-	Bterm(bp);
-	exits(nil);
-}