All pastes #2076704 Raw Edit

Stuff

public text v1 · immutable
#2076704 ·published 2011-06-08 11:56 UTC
rendered paste body
domains
	Vid,Color,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Rasp,Count=integer
	
	MoshMin,MoshMax=integer
	MassaMin,MassaMax=integer
	SpeedMin,SpeedMax=integer
	EkipMin,EkipMax=integer
	GoodsMin,GoodsMax=integer
	PassMin,PassMax=integer
	RaspMin,RaspMax=integer

	Color1 = symbol

database - transpbase
	transp(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp,Count)

predicates

	rpt
	menu
	go(integer)
	go1(Vid)
	go2(Vid,Class)
	go3(Vid,Class,Mosh)
	go4(Vid,Class,Mosh,Massa)
	go5(Vid,Class,Mosh,Massa,Speed)
	go6(Vid,Class,Mosh,Massa,Speed,Ekip)
	go7(Vid,Class,Mosh,Massa,Speed,Ekip,Goods)
	go8(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass)
	go9(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color)
	go10(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)
	gogo(Vid)


	pk6(integer,integer)%6 строк
	pk5(integer,integer,integer)%5 строк
	pk8(integer,integer,integer,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)%8 строк. Кнопка, курсор, атрибут, маляжи

	GC(Color,Color1)
	Add(integer)
	Del(integer)
	saves(integer)
	clearmaindb

	Find1(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)
	Find2(Vid,Class,MoshMin,MoshMax,Massa,Speed,Ekip,Goods,Pass,Color,Rasp)	
	Find3(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,Speed,Ekip,Goods,Pass,Color,Rasp)	
	Find4(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,Ekip,Goods,Pass,Color,Rasp)	
	Find5(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,Goods,Pass,Color,Rasp)	
	Find6(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,Pass,Color,Rasp)
	Find7(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,Rasp)
	Find8(Vid,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,RaspMin,RaspMax)

clauses
	rpt.
	rpt:-!,rpt.

	clearmaindb:- retract(transp(_,_,_,_,_,_,_,_,_,_,_)),fail;true.

	GC(1,"Red").
	GC(2,"Orange").
	GC(3,"Yellow").
	GC(4,"Green").
	GC(5,"Azure").
	GC(6,"Blue").
	GC(7,"Pink").
	
	go(6):- saves(1).
	go(1):- makewindow(2,30,110,"Vid_transport",1,1,7,20),
		clearwindow,
		write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk5(Key,Y,0),
		fail.

	
	go(2):- makewindow(2,30,110,"Vid_transport",1,1,7,20),
		clearwindow,
		write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk5(Key,Y,1),
		fail.

	go(3):- makewindow(2,30,110,"New Element",1,1,20,21),
		clearwindow,
		write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk5(Key,Y,2),
		fail.


	go(4):- makewindow(2,30,110,"Del Element",1,1,20,21),
		clearwindow,
		write("Fly"),nl,write("Auto"),nl,write("Water"),nl,write("Return"),nl,write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk5(Key,Y,3),
		fail.

	go(5):- saves(0),
		makewindow(2,60,90,"Saves",1,1,3,14),
		clearwindow,
		write("Base SAVED!"),
		cursor(0,0),		
		readchar(_),
		removewindow,
		menu.

	Del(5):- saves(1).
	Del(4):- removewindow,menu.
	Del(A):- cursor(5,0),
		write("Enter Class: "),	readint(B),%Класс
		write("Enter Mosh: "),	readint(C),%Мощьность
		write("Enter Massa: "),	readint(D),%Масса
		write("Enter Speed: "),	readint(E),%Скорость
		write("Enter Ekip: "),	readint(F),%Экипаж
		write("Enter Goods: "),	readint(G),%Грузоподьемность
		write("Enter Pass: "),	readint(H),%Пассажиры
		write("Enter Color(red,Orange,Yellow,Green,Azure,Blue,Pink): "),	readint(J),%Цвет
		write("Enter Rasp: "),	readint(K),%Распространённость
		write("Enter Price: "),	readint(L),%Стоймость
		retract(transp(A,B,C,D,E,F,G,H,J,K,L)),
		saves(0),
		removewindow,
		menu.

	Add(5):- saves(1).
	Add(4):- removewindow,menu.
	Add(A):- cursor(5,0),
		write("Enter Class: "),	readint(B),%Класс
		write("Enter Mosh: "),	readint(C),%Мощьность
		write("Enter Massa: "),	readint(D),%Масса
		write("Enter Speed: "),	readint(E),%Скорость
		write("Enter Ekip: "),	readint(F),%Экипаж
		write("Enter Goods: "),	readint(G),%Грузоподьемность
		write("Enter Pass: "),	readint(H),%Пассажиры
		write("Enter Color(red,Orange,Yellow,Green,Azure,Blue,Pink): "),	readint(J),%Цвет
		write("Enter Rasp: "),	readint(K),%Распространённость
		write("Enter Price: "),	readint(L),%Стоймость
		assertz(transp(A,B,C,D,E,F,G,H,J,K,L)),
		saves(0),
		removewindow,
		menu.

	saves(1):- save("trdb.dat",transpbase),clearmaindb,exit.
	saves(0):- save("trdb.dat",transpbase),clearmaindb,consult("trdb.dat",transpbase).

	gogo(5):- saves(1).
	gogo(4):- removewindow,
		  menu.
	gogo(A):- 
			removewindow,
			makewindow(12,48,110,"",12,0,38,80),
			write("#"),
			write("|Vid T|"),
			write("Class|"),
			write("Mosh_Dvig|"),
			write("Massa|"),
			write("Speed|"),
			write("Ekipaj|"),
			write("Goods|"),
			write("Passeg|"),
			write("  Color  |"),
			write("Rasp|"),
			write("Cost  |"),
			Find1(A,6,6,6,6,6,6,6,8,6).
	
	go1(5):- saves(1).
	go1(4):- removewindow,
		 menu.
	go1(A):- makewindow(3,30,110,"Class_Nadejnost",1,11,10,20),
		 clearwindow,
		 write("'1'"),nl,write("'2'"),nl,write("'3'"),nl,write("'4'"),nl,write("'5'"),nl,write("Any"),nl, write("Return"),nl, write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,0,A,0,0,0,0,0,0,0,0,0),
		fail.
		 
	go2(_,8):- saves(1).
	go2(A,7):- removewindow,
		   go(1).
	go2(1,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
		   clearwindow,
		   write("900...1400"),nl,
		   write("1400...1900"),nl,
		   write("1900...2400"),nl,
		   write("2400...2900"),nl,
		   write("2900...3400"),nl,
		   write("Any"),nl,		
		   write("Return"),nl,
		   write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,1,1,B,0,0,0,0,0,0,0,0),
		fail.

	go2(2,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
		   clearwindow,
		   write("50...240"),nl,
		   write("240...430"),nl,
		   write("430...620"),nl,
		   write("620...810"),nl,
		   write("810...1000"),nl,
		   write("Any"),nl,		
		   write("Return"),nl,
		   write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,1,2,B,0,0,0,0,0,0,0,0),
		fail.

	go2(3,B):- makewindow(4,30,110,"Mosh_Dvigatel",1,21,10,20),
		   clearwindow,
		   write("200...500"),nl,
		   write("500...800"),nl,
		   write("800...1100"),nl,
		   write("1100...1400"),nl,
		   write("1400...1700"),nl,
		   write("Any"),nl,		
		   write("Return"),nl,
		   write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,1,3,B,0,0,0,0,0,0,0,0),
		fail.

	go3(_,_,8):- saves(1).
	go3(A,_,7):- removewindow,
		     go1(A).
	go3(1,B,C):- makewindow(5,30,110,"Massa_Fly",1,31,10,20),
		     clearwindow,
		     write("100...160"),nl,
		     write("160...220"),nl,
		     write("220...280"),nl,
		     write("280...340"),nl,
		     write("340...400"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,2,1,B,C,0,0,0,0,0,0,0),
		fail.


	go3(2,B,C):- makewindow(5,30,110,"Massa_Auto",1,31,10,20),
		     clearwindow,
		     write("9...12"),nl,
		     write("12...15"),nl,
		     write("15...18"),nl,
		     write("18...21"),nl,
		     write("21...24"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,2,2,B,C,0,0,0,0,0,0,0),
		fail.

	go3(3,B,C):- makewindow(5,30,110,"Massa_Water",1,31,10,20),
		     clearwindow,
		     write("100...700"),nl,
		     write("700...1300"),nl,
		     write("1300...1900"),nl,
		     write("1900...2500"),nl,
		     write("2500...3100"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,2,3,B,C,0,0,0,0,0,0,0),
		fail.

	go4(_,_,_,8):- saves(1).
	go4(A,B,_,7):- removewindow,
		       go2(A,B).
	go4(1,B,C,D):- makewindow(6,30,110,"Speed_Fly",1,41,10,20),
		     clearwindow,
		     write("300...600"),nl,
		     write("600...900"),nl,
		     write("900...1200"),nl,
		     write("1200...1500"),nl,
		     write("1500...1800"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,3,1,B,C,D,0,0,0,0,0,0),
		fail.

	go4(2,B,C,D):- makewindow(6,30,110,"Speed_Auto",1,41,10,20),
		     clearwindow,
		     write("100...180"),nl,
		     write("180...260"),nl,
		     write("260...340"),nl,
		     write("340...420"),nl,
		     write("420...500"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,3,2,B,C,D,0,0,0,0,0,0),
		fail.

	go4(3,B,C,D):- makewindow(6,30,110,"Speed_Water",1,41,10,20),
		     clearwindow,
		     write("60...128"),nl,
		     write("128...196"),nl,
		     write("196...264"),nl,
		     write("264...322"),nl,
		     write("322...400"),nl,
		     write("Any"),nl,
		     write("Return"),nl,
		     write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,3,3,B,C,D,0,0,0,0,0,0),
		fail.

	go5(_,_,_,_,8):- saves(1).
	go5(A,B,C,_,7):- removewindow,
			 go3(A,B,C).
	go5(1,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Fly",1,51,10,20),
			clearwindow,
			write("2...3"),nl,
			write("3...4"),nl,
			write("4...6"),nl,
			write("6...8"),nl,
			write("8...10"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,4,1,B,C,D,E,0,0,0,0,0),
		fail.

	go5(2,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Auto",1,51,10,20),
			clearwindow,
			write("1...1"),nl,
			write("1...2"),nl,
			write("2...2"),nl,
			write("2...3"),nl,
			write("3...4"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,4,2,B,C,D,E,0,0,0,0,0),
		fail.

	go5(3,B,C,D,E):- makewindow(7,30,110,"Ekipaj_Water",1,51,10,20),
			clearwindow,
			write("6...7"),nl,
			write("7...8"),nl,
			write("8...10"),nl,
			write("10...12"),nl,
			write("12...14"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,4,3,B,C,D,E,0,0,0,0,0),
		fail.

	go6(_,_,_,_,_,8):- saves(1).
	go6(A,B,C,D,_,7):- removewindow,
			go4(A,B,C,D).

	go6(1,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Fly",11,0,10,20),
			clearwindow,
			write("100...360"),nl,
			write("360...620"),nl,
			write("620...880"),nl,
			write("880...1140"),nl,
			write("1140...1400"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,5,1,B,C,D,E,F,0,0,0,0),
		fail.

	go6(2,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Auto",11,0,10,20),
			clearwindow,
			write("10...30"),nl,
			write("30...50"),nl,
			write("50...70"),nl,
			write("70...90"),nl,
			write("90...110"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,5,2,B,C,D,E,F,0,0,0,0),
		fail.

	go6(3,B,C,D,E,F):- makewindow(8,30,110,"Zagruz_Water",11,0,10,20),
			clearwindow,
			write("1000...4200"),nl,
			write("4200...7400"),nl,
			write("7400...10600"),nl,
			write("10600...13800"),nl,
			write("13800...17000"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,5,3,B,C,D,E,F,0,0,0,0),
		fail.

	go7(_,_,_,_,_,_,8):- saves(1).
	go7(A,B,C,D,E,_,7):- removewindow,
			go5(A,B,C,D,E).

	go7(1,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Fly",11,10,10,20),
			clearwindow,
			write("500...610"),nl,
			write("610...720"),nl,
			write("720...830"),nl,
			write("830...940"),nl,
			write("940...1050"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,6,1,B,C,D,E,F,G,0,0,0),
		fail.

	go7(2,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Auto",11,10,10,20),
			clearwindow,
			write("3...3"),nl,
			write("3...4"),nl,
			write("4...4"),nl,
			write("4...5"),nl,
			write("5...6"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,6,2,B,C,D,E,F,G,0,0,0),
		fail.

	go7(3,B,C,D,E,F,G):- makewindow(9,30,110,"Num_Passage_Water",11,10,10,20),
			clearwindow,
			write("50...340"),nl,
			write("340...630"),nl,
			write("630...920"),nl,
			write("920...1210"),nl,
			write("1210...1500"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,6,3,B,C,D,E,F,G,0,0,0),
		fail.

	go8(_,_,_,_,_,_,_,8):- saves(1).
	go8(A,B,C,D,E,F,_,7):- removewindow,
			go6(A,B,C,D,E,F).

	go8(A,B,C,D,E,F,G,H):- makewindow(10,30,110,"Color",11,20,12,20),
			clearwindow,
			write("Red"),nl,
			write("Orange"),nl,
			write("Yellow"),nl,
			write("Green"),nl,
			write("Azure"),nl,
			write("Blue"),nl,
			write("Pink"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,7,A,B,C,D,E,F,G,H,0,0),
		fail.

	go9(_,_,_,_,_,_,_,_,10):- saves(1).
	go9(A,B,C,D,E,F,G,_,9):- removewindow,
			go7(A,B,C,D,E,F,G).
	
	go9(1,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Fly",11,30,10,20),
			clearwindow,
			write("10...20"),nl,
			write("20...30"),nl,
			write("30...40"),nl,
			write("40...50"),nl,
			write("50...60"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,8,1,B,C,D,E,F,G,H,J,0),
		fail.

	go9(2,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Auto",11,30,10,20),
			clearwindow,
			write("10...26"),nl,
			write("26...42"),nl,
			write("42...58"),nl,
			write("58...74"),nl,
			write("74...90"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,8,2,B,C,D,E,F,G,H,J,0),
		fail.

	go9(3,B,C,D,E,F,G,H,J):- makewindow(11,30,110,"Rasprostran_Water",11,30,10,20),
			clearwindow,
			write("10...18"),nl,
			write("18...26"),nl,
			write("26...34"),nl,
			write("34...42"),nl,
			write("42...50"),nl,
			write("Any"),nl,
			write("Return"),nl,
			write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk8(Key,Y,8,3,B,C,D,E,F,G,H,J,0),
		fail.

	go10(_,_,_,_,_,_,_,_,_,8):- saves(1).
	go10(A,B,C,D,E,F,G,H,_,7):- removewindow,
			go8(A,B,C,D,E,F,G,H).

	go10(A,B,C,D,E,F,G,H,J,K):- 
			makewindow(12,48,110,"",12,0,38,80),
			write("#"),
			write("|Vid T|"),
			write("Class|"),
			write("Mosh_Dvig|"),
			write("Massa|"),
			write("Speed|"),
			write("Ekipaj|"),
			write("Goods|"),
			write("Passeg|"),
			write("  Color  |"),
			write("Rasp|"),
			write("Cost  |"),
			Find1(A,B,C,D,E,F,G,H,J,K).
		

%==================================
	Find1(1,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(1,Class,900,1400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(1,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(1,Class,1400,1900,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(1,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(1,Class,1900,2400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(1,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(1,Class,2400,2900,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(1,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(1,Class,2900,3400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).			

	Find1(2,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(2,Class,50,240,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(2,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(2,Class,240,430,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(2,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(2,Class,430,620,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(2,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(2,Class,620,810,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(2,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(2,Class,810,1000,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).

	Find1(3,Class,1,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(3,Class,200,500,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(3,Class,2,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(3,Class,500,800,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(3,Class,3,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(3,Class,800,1100,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(3,Class,4,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(3,Class,1100,1400,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find1(3,Class,5,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(3,Class,1400,1700,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).

	Find1(X,Class,Z,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find2(X,Class,0,20000,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
%==================================
	Find2(1,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-

			Find3(1,Class,MoshMin,MoshMax,100,160,Speed,Ekip,Goods,Pass,Color,Rasp).	
	Find2(1,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-

			Find3(1,Class,MoshMin,MoshMax,160,220,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(1,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-

			Find3(1,Class,MoshMin,MoshMax,220,280,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(1,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-

			Find3(1,Class,MoshMin,MoshMax,280,340,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(1,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-

			Find3(1,Class,MoshMin,MoshMax,340,400,Speed,Ekip,Goods,Pass,Color,Rasp).

	Find2(2,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(2,Class,MoshMin,MoshMax,9,12,Speed,Ekip,Goods,Pass,Color,Rasp).	
	Find2(2,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(2,Class,MoshMin,MoshMax,12,15,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(2,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(2,Class,MoshMin,MoshMax,15,18,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(2,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(2,Class,MoshMin,MoshMax,18,21,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(2,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(2,Class,MoshMin,MoshMax,21,24,Speed,Ekip,Goods,Pass,Color,Rasp).

	Find2(3,Class,MoshMin,MoshMax,1,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(3,Class,MoshMin,MoshMax,100,700,Speed,Ekip,Goods,Pass,Color,Rasp).	
	Find2(3,Class,MoshMin,MoshMax,2,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(3,Class,MoshMin,MoshMax,700,1300,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(3,Class,MoshMin,MoshMax,3,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(3,Class,MoshMin,MoshMax,1300,1900,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(3,Class,MoshMin,MoshMax,4,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(3,Class,MoshMin,MoshMax,1900,2500,Speed,Ekip,Goods,Pass,Color,Rasp).
	Find2(3,Class,MoshMin,MoshMax,5,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(3,Class,MoshMin,MoshMax,2500,3100,Speed,Ekip,Goods,Pass,Color,Rasp).

	Find2(X,Class,MoshMin,MoshMax,Z,Speed,Ekip,Goods,Pass,Color,Rasp):-
			Find3(X,Class,MoshMin,MoshMax,0,20000,Speed,Ekip,Goods,Pass,Color,Rasp).
%==================================
	Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
			Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,300,600,Ekip,Goods,Pass,Color,Rasp).
	Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
			Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,600,900,Ekip,Goods,Pass,Color,Rasp).
	Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
			Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,900,1200,Ekip,Goods,Pass,Color,Rasp).
	Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
			Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1200,1500,Ekip,Goods,Pass,Color,Rasp).
	Find3(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
			Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,1500,1800,Ekip,Goods,Pass,Color,Rasp).

	Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
			Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,100,180,Ekip,Goods,Pass,Color,Rasp).
	Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
			Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,180,260,Ekip,Goods,Pass,Color,Rasp).
	Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
			Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,260,340,Ekip,Goods,Pass,Color,Rasp).
	Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
			Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,340,420,Ekip,Goods,Pass,Color,Rasp).
	Find3(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
			Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,420,500,Ekip,Goods,Pass,Color,Rasp).

	Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,1,Ekip,Goods,Pass,Color,Rasp):-
			Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,60,128,Ekip,Goods,Pass,Color,Rasp).
	Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,2,Ekip,Goods,Pass,Color,Rasp):-
			Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,128,196,Ekip,Goods,Pass,Color,Rasp).
	Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,3,Ekip,Goods,Pass,Color,Rasp):-
			Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,196,264,Ekip,Goods,Pass,Color,Rasp).
	Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,4,Ekip,Goods,Pass,Color,Rasp):-
			Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,264,322,Ekip,Goods,Pass,Color,Rasp).
	Find3(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,5,Ekip,Goods,Pass,Color,Rasp):-
			Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,322,400,Ekip,Goods,Pass,Color,Rasp).

	Find3(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,Z,Ekip,Goods,Pass,Color,Rasp):-
			Find4(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,0,20000,Ekip,Goods,Pass,Color,Rasp).
%==================================
	Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
			Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,3,Goods,Pass,Color,Rasp).
	Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
			Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,4,Goods,Pass,Color,Rasp).
	Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
			Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,6,Goods,Pass,Color,Rasp).
	Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
			Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,6,8,Goods,Pass,Color,Rasp).
	Find4(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
			Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,8,10,Goods,Pass,Color,Rasp).

	Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
			Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,1,Goods,Pass,Color,Rasp).
	Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
			Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,2,Goods,Pass,Color,Rasp).
	Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
			Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,2,Goods,Pass,Color,Rasp).
	Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
			Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,3,Goods,Pass,Color,Rasp).
	Find4(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
			Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,4,Goods,Pass,Color,Rasp).

	Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,1,Goods,Pass,Color,Rasp):-
			Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,6,7,Goods,Pass,Color,Rasp).
	Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,2,Goods,Pass,Color,Rasp):-
			Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,7,8,Goods,Pass,Color,Rasp).
	Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,3,Goods,Pass,Color,Rasp):-
			Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,8,10,Goods,Pass,Color,Rasp).
	Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,4,Goods,Pass,Color,Rasp):-
			Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,10,12,Goods,Pass,Color,Rasp).
	Find4(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,5,Goods,Pass,Color,Rasp):-
			Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,12,14,Goods,Pass,Color,Rasp).

	Find4(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,Z,Goods,Pass,Color,Rasp):-
			Find5(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,0,20000,Goods,Pass,Color,Rasp).
%==================================
	Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
			Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,100,360,Pass,Color,Rasp).
	Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
			Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,360,620,Pass,Color,Rasp).
	Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
			Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,620,880,Pass,Color,Rasp).
	Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
			Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,880,1140,Pass,Color,Rasp).
	Find5(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
			Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1140,1400,Pass,Color,Rasp).

	Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
			Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,10,30,Pass,Color,Rasp).
	Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
			Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,30,50,Pass,Color,Rasp).
	Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
			Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,50,70,Pass,Color,Rasp).
	Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
			Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,70,90,Pass,Color,Rasp).
	Find5(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
			Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,90,110,Pass,Color,Rasp).

	Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1,Pass,Color,Rasp):-
			Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,1000,4200,Pass,Color,Rasp).
	Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,2,Pass,Color,Rasp):-
			Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4200,7400,Pass,Color,Rasp).
	Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,3,Pass,Color,Rasp):-
			Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,7400,10600,Pass,Color,Rasp).
	Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,4,Pass,Color,Rasp):-
			Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,10600,13800,Pass,Color,Rasp).
	Find5(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,5,Pass,Color,Rasp):-
			Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,13800,17000,Pass,Color,Rasp).

	Find5(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,Z,Pass,Color,Rasp):-
			Find6(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,0,20000,Pass,Color,Rasp).
%==================================
	Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
			Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,500,610,Color,Rasp).
	Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
			Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,610,720,Color,Rasp).
	Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
			Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,720,830,Color,Rasp).
	Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
			Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,830,940,Color,Rasp).
	Find6(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
			Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,940,1050,Color,Rasp).

	Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
			Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,3,Color,Rasp).
	Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
			Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,4,Color,Rasp).
	Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
			Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,4,Color,Rasp).
	Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
			Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,5,Color,Rasp).
	Find6(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
			Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,6,Color,Rasp).

	Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1,Color,Rasp):-
			Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,50,340,Color,Rasp).
	Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,2,Color,Rasp):-
			Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,340,630,Color,Rasp).
	Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,3,Color,Rasp):-
			Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,630,920,Color,Rasp).
	Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,4,Color,Rasp):-
			Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,920,1210,Color,Rasp).
	Find6(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,5,Color,Rasp):-
			Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,1210,1500,Color,Rasp).

	Find6(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,Z,Color,Rasp):-
			Find7(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,0,20000,Color,Rasp).
%==================================
	Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
			Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,20).
	Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
			Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,20,30).
	Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
			Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,30,40).
	Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
			Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,40,50).
	Find7(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
			Find8(1,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,50,60).

	Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
			Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,26).
	Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
			Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,26,42).
	Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
			Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,42,58).
	Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
			Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,58,74).
	Find7(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
			Find8(2,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,74,90).

	Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,1):-
			Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,10,18).
	Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,2):-
			Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,18,26).
	Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,3):-
			Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,26,34).
	Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,4):-
			Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,34,42).
	Find7(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,5):-
			Find8(3,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,42,50).			

	Find7(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,Z):-
			Find8(X,Class,MoshMin,MoshMax,MassaMin,MassaMax,SpeedMin,SpeedMax,EkipMin,EkipMax,GoodsMin,GoodsMax,PassMin,PassMax,Color,0,20000).			
%==================================
	Find8(1,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(1,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(1,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(1,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(1,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(1,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(1,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(1,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Fly",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.
%==================================
	Find8(2,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(2,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(2,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(2,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(2,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(2,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(2,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(2,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Auto",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.
%==================================
	Find8(3,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(3,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(3,6,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(3,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(3,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,8,KMin,KMax):-
			transp(3,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.

	Find8(3,B,CMin,CMax,DMin,DMax,EMin,EMax,FMin,FMax,GMin,GMax,HMin,HMax,J,KMin,KMax):-
			transp(3,B,C,D,E,F,G,H,J,K,L),
			C>=CMin,C<=CMax,
			D>=DMin,D<=DMax,
			E>=EMin,E<=EMax,
			F>=FMin,F<=FMax,
			G>=GMin,G<=GMax,
			H>=HMin,H<=HMax,
			K>=KMin,K<=KMax,
			GC(J,Z),
			writef("%1|%5|%5|%9|%5|%5|%6|%5|%6|%9|%4|%6|"," ","Water",B,C,D,E,F,G,H,Z,K,L),fail;true,
			readchar(_),
			removewindow,
			menu.
%==================================

	pk6(0,A):-inkey(Key),pk6(Key,A).
	pk6(72,A):-field_attr(A,0,18,30),
		A>0,!,
		Z=A-1,
		cursor(Z,0)
		;
		cursor(5,0).
	pk6(80,A):-field_attr(A,0,18,30),
		A<5,!,
		Z=A+1,
		cursor(Z,0)
		;
		cursor(0,0).
	pk6(13,A):-Z=A+1,go(Z).

	pk5(0,A,B):-inkey(Key),pk5(Key,A,B).
	pk5(72,A,_):-field_attr(A,0,18,30),
		A>0,!,
		Z=A-1,
		cursor(Z,0)
		;
		cursor(4,0).
	pk5(80,A,_):-field_attr(A,0,18,30),
		A<4,!,
		Z=A+1,
		cursor(Z,0)
		;
		cursor(0,0).
	pk5(13,A,B):-B=0,Z=A+1,go1(Z);
		B=1,Z=A+1,gogo(Z);
		B=2,Z=A+1,Add(Z);
		B=3,Z=A+1,Del(Z).

	pk8(0,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-inkey(Key),pk8(Key,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp).
	pk8(72,A,7,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
		A>0,!,
		Z=A-1,
		cursor(Z,0)
		;
		cursor(9,0).
	pk8(72,A,_,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
		A>0,!,
		Z=A-1,
		cursor(Z,0)
		;
		cursor(7,0).
	pk8(80,A,7,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
		A<9,!,
		Z=A+1,
		cursor(Z,0)
		;
		cursor(0,0).
	pk8(80,A,_,_,_,_,_,_,_,_,_,_,_):-field_attr(A,0,18,30),
		A<7,!,
		Z=A+1,
		cursor(Z,0)
		;
		cursor(0,0).
	pk8(13,A,B,Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Rasp):-
		B=0,Z=A+1,go2(Vid,Z);
		B=1,Z=A+1,go3(Vid,Class,Z);
		B=2,Z=A+1,go4(Vid,Class,Mosh,Z);
		B=3,Z=A+1,go5(Vid,Class,Mosh,Massa,Z);
		B=4,Z=A+1,go6(Vid,Class,Mosh,Massa,Speed,Z);
		B=5,Z=A+1,go7(Vid,Class,Mosh,Massa,Speed,Ekip,Z);
		B=6,Z=A+1,go8(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Z);
		B=7,Z=A+1,go9(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Z);
		B=8,Z=A+1,go10(Vid,Class,Mosh,Massa,Speed,Ekip,Goods,Pass,Color,Z).

	menu :- makewindow(1,30,110,"Menu",0,0,8,20),
		clearwindow,
		write("Find in db"),nl,
		write("Show db"),nl,
		write("Add to Base"),nl,
		write("Del in Base"),nl,
		write("Save Base"),nl,
		write("Exit"),
		cursor(0,0),
		rpt,
		cursor(Y,_),
		field_attr(Y,0,18,112),
		inkey(Key),pk6(Key,Y),
		fail.


goal
	consult("trdb.dat",transpbase),menu.