tplp-planning-benchmark/m-mp/ipc-2006_rovers-propositional_35.out

93 lines
20 KiB
Plaintext

Madagascar 0.99999 25/02/2015 09:46:27 amd64 1-core (no VSIDS)
Options: file:/home/pluehne/Documents/ASP/pddl-instances/ipc-2006/domains/rovers-propositional/domain.pddl file:/home/pluehne/Documents/ASP/pddl-instances/ipc-2006/domains/rovers-propositional/instances/instance-35.pddlignoring --stats
ignoring --verbose
-m 8192
Domain: rover
Problem: roverprob2006
Parser: 32518 ground actions and 6527 state variables
Invariants: 0 1 2 3 4 5 6 7 8 0.13 secs
Goal: conjunctive
Simplified: 19450 ground actions and 1778 state variables
Actions: STRIPS
Disabling graph %: 10 20 30 40 50 60 70 80 90 100 0.23 secs (max SCC size 36)
Plan type: E-step
Allocated 32 MB permanent (total 256 MB)
Horizon 0: 1778 variables
0 UNSAT (0 decisions 0 conflicts)
Horizon 5: 157033 variables
Allocated 32 MB (total 461 MB)
5 UNSAT (23 decisions 15 conflicts)
Horizon 10: 312288 variables
Horizon 15: 467543 variables
Horizon 20: 622798 variables
Horizon 25: 778053 variables
Horizon 30: 933308 variables
SAT (1350 decisions 0 conflicts)
PLAN FOUND: 30 steps
STEP 0.0: calibrate(rover0,camera7,objective6,waypoint4) calibrate(rover0,camera9,objective6,waypoint4) calibrate(rover1,camera10,objective1,waypoint26) calibrate(rover3,camera11,objective5,waypoint39) calibrate(rover5,camera5,objective5,waypoint1) calibrate(rover7,camera3,objective11,waypoint2) calibrate(rover7,camera8,objective5,waypoint2) navigate(rover10,waypoint39,waypoint48) navigate(rover2,waypoint6,waypoint21) navigate(rover6,waypoint73,waypoint74) navigate(rover8,waypoint71,waypoint50) navigate(rover9,waypoint19,waypoint47) sample_rock(rover1,rover1store,waypoint26) sample_rock(rover11,rover11store,waypoint37) sample_soil(rover4,rover4store,waypoint13)
STEP 0.1: navigate(rover0,waypoint4,waypoint2) navigate(rover1,waypoint26,waypoint57) navigate(rover11,waypoint37,waypoint62) navigate(rover3,waypoint39,waypoint14) navigate(rover4,waypoint13,waypoint2) navigate(rover5,waypoint1,waypoint20) navigate(rover7,waypoint2,waypoint54)
STEP 1.0: communicate_rock_data(rover1,general,waypoint26,waypoint57,waypoint17) drop(rover1,rover1store) drop(rover11,rover11store) drop(rover4,rover4store) navigate(rover10,waypoint48,waypoint37) navigate(rover11,waypoint62,waypoint25) navigate(rover2,waypoint21,waypoint43) navigate(rover4,waypoint2,waypoint51) navigate(rover6,waypoint74,waypoint38) navigate(rover7,waypoint54,waypoint49) navigate(rover8,waypoint50,waypoint3) sample_rock(rover9,rover9store,waypoint47) take_image(rover0,waypoint2,objective10,camera9,high_res) take_image(rover0,waypoint2,objective5,camera7,high_res) take_image(rover1,waypoint57,objective2,camera10,low_res) take_image(rover3,waypoint14,objective10,camera11,low_res) take_image(rover5,waypoint20,objective2,camera5,colour)
STEP 1.1: navigate(rover0,waypoint2,waypoint51) navigate(rover1,waypoint57,waypoint9) navigate(rover3,waypoint14,waypoint9) navigate(rover5,waypoint20,waypoint1) navigate(rover9,waypoint47,waypoint31)
STEP 2.0: calibrate(rover3,camera11,objective5,waypoint9) calibrate(rover5,camera5,objective5,waypoint1) communicate_image_data(rover0,general,objective10,high_res,waypoint51,waypoint17) communicate_image_data(rover0,general,objective5,high_res,waypoint51,waypoint17) communicate_image_data(rover1,general,objective2,low_res,waypoint9,waypoint17) communicate_image_data(rover3,general,objective10,low_res,waypoint9,waypoint17) communicate_rock_data(rover9,general,waypoint47,waypoint31,waypoint17) communicate_soil_data(rover4,general,waypoint13,waypoint51,waypoint17) drop(rover9,rover9store) navigate(rover7,waypoint49,waypoint16) sample_rock(rover0,rover0store,waypoint51) sample_rock(rover1,rover1store,waypoint9) sample_rock(rover11,rover11store,waypoint25) sample_rock(rover2,rover2store,waypoint43) sample_soil(rover10,rover10store,waypoint37) sample_soil(rover4,rover4store,waypoint51) sample_soil(rover6,rover6store,waypoint38) sample_soil(rover8,rover8store,waypoint3)
STEP 2.1: navigate(rover0,waypoint51,waypoint2) navigate(rover1,waypoint9,waypoint57) navigate(rover10,waypoint37,waypoint48) navigate(rover11,waypoint25,waypoint62) navigate(rover2,waypoint43,waypoint21) navigate(rover3,waypoint9,waypoint14) navigate(rover4,waypoint51,waypoint2) navigate(rover5,waypoint1,waypoint51) navigate(rover6,waypoint38,waypoint74) navigate(rover8,waypoint3,waypoint50) navigate(rover9,waypoint31,waypoint67)
STEP 3.0: communicate_image_data(rover5,general,objective2,colour,waypoint51,waypoint17) communicate_rock_data(rover1,general,waypoint9,waypoint57,waypoint17) drop(rover0,rover0store) drop(rover1,rover1store) drop(rover10,rover10store) drop(rover11,rover11store) drop(rover2,rover2store) drop(rover4,rover4store) drop(rover6,rover6store) drop(rover8,rover8store) navigate(rover0,waypoint2,waypoint4) navigate(rover10,waypoint48,waypoint39) navigate(rover11,waypoint62,waypoint37) navigate(rover2,waypoint21,waypoint6) navigate(rover4,waypoint2,waypoint63) navigate(rover6,waypoint74,waypoint73) navigate(rover8,waypoint50,waypoint71) sample_rock(rover9,rover9store,waypoint67) sample_soil(rover7,rover7store,waypoint16) take_image(rover3,waypoint14,objective4,camera11,low_res) take_image(rover7,waypoint16,objective11,camera3,high_res)
STEP 3.1: navigate(rover1,waypoint57,waypoint26) navigate(rover3,waypoint14,waypoint57) navigate(rover5,waypoint51,waypoint6) navigate(rover7,waypoint16,waypoint49) navigate(rover9,waypoint67,waypoint31)
STEP 4.0: calibrate(rover3,camera11,objective5,waypoint57) communicate_image_data(rover3,general,objective4,low_res,waypoint57,waypoint17) communicate_rock_data(rover9,general,waypoint67,waypoint31,waypoint17) drop(rover7,rover7store) drop(rover9,rover9store) navigate(rover0,waypoint4,waypoint69) navigate(rover1,waypoint26,waypoint48) navigate(rover10,waypoint39,waypoint52) navigate(rover11,waypoint37,waypoint72) navigate(rover2,waypoint6,waypoint59) navigate(rover4,waypoint63,waypoint36) navigate(rover6,waypoint73,waypoint0) navigate(rover7,waypoint49,waypoint54) navigate(rover8,waypoint71,waypoint39) take_image(rover5,waypoint6,objective6,camera5,colour)
STEP 4.1: navigate(rover3,waypoint57,waypoint14) navigate(rover5,waypoint6,waypoint7) navigate(rover9,waypoint31,waypoint47)
STEP 5.0: calibrate(rover5,camera5,objective5,waypoint7) communicate_image_data(rover5,general,objective6,colour,waypoint7,waypoint17) communicate_soil_data(rover6,general,waypoint38,waypoint0,waypoint17) navigate(rover0,waypoint69,waypoint72) navigate(rover1,waypoint48,waypoint44) navigate(rover10,waypoint52,waypoint34) navigate(rover11,waypoint72,waypoint66) navigate(rover7,waypoint54,waypoint2) navigate(rover8,waypoint39,waypoint27) navigate(rover9,waypoint47,waypoint28) sample_rock(rover2,rover2store,waypoint59) sample_soil(rover4,rover4store,waypoint36) take_image(rover3,waypoint14,objective3,camera11,colour)
STEP 5.1: navigate(rover2,waypoint59,waypoint6) navigate(rover3,waypoint14,waypoint9) navigate(rover4,waypoint36,waypoint63) navigate(rover5,waypoint7,waypoint6) navigate(rover6,waypoint0,waypoint73)
STEP 6.0: communicate_image_data(rover3,general,objective3,colour,waypoint9,waypoint17) drop(rover2,rover2store) drop(rover4,rover4store) navigate(rover2,waypoint6,waypoint0) navigate(rover4,waypoint63,waypoint2) navigate(rover6,waypoint73,waypoint74) navigate(rover8,waypoint27,waypoint66) navigate(rover9,waypoint28,waypoint49) sample_rock(rover0,rover0store,waypoint72) sample_rock(rover1,rover1store,waypoint44) sample_rock(rover11,rover11store,waypoint66) sample_soil(rover10,rover10store,waypoint34) take_image(rover5,waypoint6,objective0,camera5,colour) take_image(rover7,waypoint2,objective8,camera8,colour)
STEP 6.1: navigate(rover0,waypoint72,waypoint69) navigate(rover1,waypoint44,waypoint48) navigate(rover10,waypoint34,waypoint52) navigate(rover11,waypoint66,waypoint72) navigate(rover5,waypoint6,waypoint28) navigate(rover7,waypoint2,waypoint51)
STEP 7.0: communicate_image_data(rover5,general,objective0,colour,waypoint28,waypoint17) communicate_image_data(rover7,general,objective11,high_res,waypoint51,waypoint17) communicate_image_data(rover7,general,objective8,colour,waypoint51,waypoint17) communicate_rock_data(rover2,general,waypoint43,waypoint0,waypoint17) communicate_rock_data(rover2,general,waypoint59,waypoint0,waypoint17) communicate_soil_data(rover7,general,waypoint16,waypoint51,waypoint17) drop(rover0,rover0store) drop(rover1,rover1store) drop(rover10,rover10store) drop(rover11,rover11store) navigate(rover0,waypoint69,waypoint4) navigate(rover1,waypoint48,waypoint36) navigate(rover10,waypoint52,waypoint39) navigate(rover11,waypoint72,waypoint37) navigate(rover4,waypoint2,waypoint51) navigate(rover6,waypoint74,waypoint62) navigate(rover9,waypoint49,waypoint50) sample_soil(rover8,rover8store,waypoint66)
STEP 7.1: navigate(rover2,waypoint0,waypoint17) navigate(rover7,waypoint51,waypoint1) navigate(rover8,waypoint66,waypoint27)
STEP 8.0: communicate_soil_data(rover4,general,waypoint36,waypoint51,waypoint17) communicate_soil_data(rover4,general,waypoint51,waypoint51,waypoint17) drop(rover8,rover8store) navigate(rover0,waypoint4,waypoint73) navigate(rover10,waypoint39,waypoint48) navigate(rover11,waypoint37,waypoint24) navigate(rover2,waypoint17,waypoint57) navigate(rover7,waypoint1,waypoint46) navigate(rover8,waypoint27,waypoint39) sample_rock(rover1,rover1store,waypoint36) sample_rock(rover9,rover9store,waypoint50) sample_soil(rover6,rover6store,waypoint62)
STEP 8.1: navigate(rover1,waypoint36,waypoint48) navigate(rover4,waypoint51,waypoint2) navigate(rover6,waypoint62,waypoint74) navigate(rover9,waypoint50,waypoint49)
STEP 9.0: drop(rover1,rover1store) drop(rover6,rover6store) drop(rover9,rover9store) navigate(rover0,waypoint73,waypoint57) navigate(rover1,waypoint48,waypoint26) navigate(rover10,waypoint48,waypoint28) navigate(rover4,waypoint2,waypoint4) navigate(rover6,waypoint74,waypoint73) navigate(rover8,waypoint39,waypoint71) navigate(rover9,waypoint49,waypoint28) sample_rock(rover11,rover11store,waypoint24) sample_rock(rover2,rover2store,waypoint57) sample_soil(rover7,rover7store,waypoint46)
STEP 9.1: navigate(rover11,waypoint24,waypoint37) navigate(rover2,waypoint57,waypoint17) navigate(rover7,waypoint46,waypoint1)
STEP 10.0: communicate_rock_data(rover0,general,waypoint51,waypoint57,waypoint17) communicate_rock_data(rover0,general,waypoint72,waypoint57,waypoint17) communicate_rock_data(rover9,general,waypoint50,waypoint28,waypoint17) communicate_soil_data(rover10,general,waypoint34,waypoint28,waypoint17) communicate_soil_data(rover10,general,waypoint37,waypoint28,waypoint17) drop(rover11,rover11store) drop(rover2,rover2store) drop(rover7,rover7store) navigate(rover1,waypoint26,waypoint29) navigate(rover11,waypoint37,waypoint70) navigate(rover2,waypoint17,waypoint0) navigate(rover6,waypoint73,waypoint0) navigate(rover7,waypoint1,waypoint51) navigate(rover8,waypoint71,waypoint9) sample_soil(rover4,rover4store,waypoint4)
STEP 10.1: navigate(rover0,waypoint57,waypoint42) navigate(rover10,waypoint28,waypoint48) navigate(rover4,waypoint4,waypoint2) navigate(rover9,waypoint28,waypoint47)
STEP 11.0: communicate_rock_data(rover2,general,waypoint57,waypoint0,waypoint17) communicate_soil_data(rover6,general,waypoint62,waypoint0,waypoint17) communicate_soil_data(rover7,general,waypoint46,waypoint51,waypoint17) communicate_soil_data(rover8,general,waypoint3,waypoint9,waypoint17) communicate_soil_data(rover8,general,waypoint66,waypoint9,waypoint17) drop(rover4,rover4store) navigate(rover10,waypoint48,waypoint65) navigate(rover11,waypoint70,waypoint7) navigate(rover4,waypoint2,waypoint51) navigate(rover9,waypoint47,waypoint19) sample_rock(rover0,rover0store,waypoint42) sample_rock(rover1,rover1store,waypoint29)
STEP 11.1: navigate(rover0,waypoint42,waypoint57) navigate(rover1,waypoint29,waypoint26) navigate(rover2,waypoint0,waypoint6) navigate(rover6,waypoint0,waypoint73) navigate(rover7,waypoint51,waypoint2) navigate(rover8,waypoint9,waypoint17)
STEP 12.0: communicate_rock_data(rover0,general,waypoint42,waypoint57,waypoint17) communicate_rock_data(rover11,general,waypoint24,waypoint7,waypoint17) communicate_rock_data(rover11,general,waypoint25,waypoint7,waypoint17) communicate_rock_data(rover11,general,waypoint37,waypoint7,waypoint17) communicate_rock_data(rover11,general,waypoint66,waypoint7,waypoint17) communicate_soil_data(rover4,general,waypoint4,waypoint51,waypoint17) drop(rover0,rover0store) drop(rover1,rover1store) navigate(rover1,waypoint26,waypoint45) navigate(rover2,waypoint6,waypoint7) navigate(rover6,waypoint73,waypoint74) navigate(rover7,waypoint2,waypoint4) navigate(rover8,waypoint17,waypoint7) navigate(rover9,waypoint19,waypoint20) sample_soil(rover10,rover10store,waypoint65)
STEP 12.1: navigate(rover0,waypoint57,waypoint73) navigate(rover10,waypoint65,waypoint48) navigate(rover11,waypoint7,waypoint70) navigate(rover4,waypoint51,waypoint2)
STEP 13.0: drop(rover10,rover10store) navigate(rover0,waypoint73,waypoint4) navigate(rover1,waypoint45,waypoint61) navigate(rover10,waypoint48,waypoint28) navigate(rover11,waypoint70,waypoint37) navigate(rover2,waypoint7,waypoint22) navigate(rover4,waypoint2,waypoint13) navigate(rover7,waypoint4,waypoint64) sample_rock(rover9,rover9store,waypoint20) sample_soil(rover6,rover6store,waypoint74) sample_soil(rover8,rover8store,waypoint7)
STEP 13.1: navigate(rover6,waypoint74,waypoint73) navigate(rover9,waypoint20,waypoint14)
STEP 14.0: communicate_soil_data(rover10,general,waypoint65,waypoint28,waypoint17) communicate_soil_data(rover8,general,waypoint7,waypoint7,waypoint17) drop(rover6,rover6store) drop(rover8,rover8store) drop(rover9,rover9store) navigate(rover0,waypoint4,waypoint2) navigate(rover11,waypoint37,waypoint3) navigate(rover6,waypoint73,waypoint0) navigate(rover9,waypoint14,waypoint39) sample_rock(rover1,rover1store,waypoint61) sample_rock(rover2,rover2store,waypoint22) sample_rock(rover4,rover4store,waypoint13) sample_soil(rover7,rover7store,waypoint64)
STEP 14.1: navigate(rover1,waypoint61,waypoint45) navigate(rover10,waypoint28,waypoint48) navigate(rover2,waypoint22,waypoint7) navigate(rover4,waypoint13,waypoint21) navigate(rover7,waypoint64,waypoint9) navigate(rover8,waypoint7,waypoint17)
STEP 15.0: communicate_rock_data(rover2,general,waypoint22,waypoint7,waypoint17) communicate_soil_data(rover6,general,waypoint74,waypoint0,waypoint17) communicate_soil_data(rover7,general,waypoint64,waypoint9,waypoint17) drop(rover1,rover1store) drop(rover4,rover4store) drop(rover7,rover7store) navigate(rover0,waypoint2,waypoint51) navigate(rover1,waypoint45,waypoint26) navigate(rover10,waypoint48,waypoint30) navigate(rover11,waypoint3,waypoint28) navigate(rover4,waypoint21,waypoint67) navigate(rover8,waypoint17,waypoint9) navigate(rover9,waypoint39,waypoint52)
STEP 15.1: navigate(rover2,waypoint7,waypoint6) navigate(rover6,waypoint0,waypoint73) navigate(rover7,waypoint9,waypoint64)
STEP 16.0: navigate(rover0,waypoint51,waypoint2) navigate(rover1,waypoint26,waypoint57) navigate(rover10,waypoint30,waypoint59) navigate(rover11,waypoint28,waypoint16) navigate(rover2,waypoint6,waypoint31) navigate(rover6,waypoint73,waypoint35) navigate(rover7,waypoint64,waypoint4) navigate(rover8,waypoint9,waypoint15) sample_rock(rover9,rover9store,waypoint52) sample_soil(rover4,rover4store,waypoint67)
STEP 16.1: navigate(rover4,waypoint67,waypoint21) navigate(rover9,waypoint52,waypoint39)
STEP 17.0: communicate_rock_data(rover1,general,waypoint29,waypoint57,waypoint17) communicate_rock_data(rover1,general,waypoint36,waypoint57,waypoint17) communicate_rock_data(rover1,general,waypoint44,waypoint57,waypoint17) communicate_rock_data(rover1,general,waypoint61,waypoint57,waypoint17) drop(rover4,rover4store) navigate(rover0,waypoint2,waypoint68) navigate(rover2,waypoint31,waypoint6) navigate(rover4,waypoint21,waypoint13) navigate(rover6,waypoint35,waypoint25) navigate(rover7,waypoint4,waypoint2) navigate(rover9,waypoint39,waypoint14) sample_rock(rover11,rover11store,waypoint16) sample_soil(rover10,rover10store,waypoint59) sample_soil(rover8,rover8store,waypoint15)
STEP 17.1: navigate(rover1,waypoint57,waypoint26) navigate(rover10,waypoint59,waypoint30) navigate(rover11,waypoint16,waypoint28) navigate(rover8,waypoint15,waypoint9)
STEP 18.0: communicate_rock_data(rover11,general,waypoint16,waypoint28,waypoint17) communicate_soil_data(rover8,general,waypoint15,waypoint9,waypoint17) drop(rover10,rover10store) drop(rover8,rover8store) navigate(rover0,waypoint68,waypoint35) navigate(rover1,waypoint26,waypoint48) navigate(rover10,waypoint30,waypoint48) navigate(rover2,waypoint6,waypoint0) navigate(rover4,waypoint13,waypoint0) navigate(rover7,waypoint2,waypoint51) navigate(rover9,waypoint14,waypoint9) sample_soil(rover6,rover6store,waypoint25)
STEP 18.1: navigate(rover11,waypoint28,waypoint3) navigate(rover6,waypoint25,waypoint35) navigate(rover8,waypoint9,waypoint35)
STEP 19.0: communicate_rock_data(rover4,general,waypoint13,waypoint0,waypoint17) communicate_rock_data(rover9,general,waypoint20,waypoint9,waypoint17) communicate_rock_data(rover9,general,waypoint52,waypoint9,waypoint17) communicate_soil_data(rover4,general,waypoint67,waypoint0,waypoint17) drop(rover6,rover6store) navigate(rover1,waypoint48,waypoint0) navigate(rover10,waypoint48,waypoint28) navigate(rover11,waypoint3,waypoint37) navigate(rover2,waypoint0,waypoint47) navigate(rover6,waypoint35,waypoint7) navigate(rover7,waypoint51,waypoint1) navigate(rover8,waypoint35,waypoint23) sample_rock(rover0,rover0store,waypoint35)
STEP 19.1: navigate(rover0,waypoint35,waypoint68) navigate(rover4,waypoint0,waypoint47)
STEP 20.0: communicate_soil_data(rover10,general,waypoint59,waypoint28,waypoint17) communicate_soil_data(rover6,general,waypoint25,waypoint7,waypoint17) navigate(rover0,waypoint68,waypoint2) navigate(rover1,waypoint0,waypoint48) navigate(rover11,waypoint37,waypoint70) navigate(rover4,waypoint47,waypoint41) sample_soil(rover7,rover7store,waypoint1) sample_soil(rover8,rover8store,waypoint23)
STEP 20.1: navigate(rover10,waypoint28,waypoint48) navigate(rover6,waypoint7,waypoint35) navigate(rover7,waypoint1,waypoint51) navigate(rover8,waypoint23,waypoint35)
STEP 21.0: communicate_soil_data(rover7,general,waypoint1,waypoint51,waypoint17) drop(rover7,rover7store) navigate(rover0,waypoint2,waypoint51) navigate(rover1,waypoint48,waypoint26) navigate(rover10,waypoint48,waypoint39) navigate(rover11,waypoint70,waypoint7) navigate(rover6,waypoint35,waypoint73) navigate(rover8,waypoint35,waypoint9) sample_soil(rover4,rover4store,waypoint41)
STEP 21.1: navigate(rover4,waypoint41,waypoint47) navigate(rover7,waypoint51,waypoint2)
STEP 22: communicate_rock_data(rover0,general,waypoint35,waypoint51,waypoint17) communicate_soil_data(rover4,general,waypoint41,waypoint47,waypoint17) communicate_soil_data(rover8,general,waypoint23,waypoint9,waypoint17) navigate(rover1,waypoint26,waypoint11) navigate(rover10,waypoint39,waypoint13) navigate(rover6,waypoint73,waypoint24) navigate(rover7,waypoint2,waypoint31)
STEP 23: navigate(rover1,waypoint11,waypoint49) navigate(rover10,waypoint13,waypoint2) navigate(rover6,waypoint24,waypoint19) navigate(rover7,waypoint31,waypoint6)
STEP 24.0: navigate(rover10,waypoint2,waypoint12) navigate(rover6,waypoint19,waypoint20) sample_rock(rover1,rover1store,waypoint49) sample_soil(rover7,rover7store,waypoint6)
STEP 24.1: navigate(rover1,waypoint49,waypoint11) navigate(rover7,waypoint6,waypoint0)
STEP 25.0: communicate_soil_data(rover7,general,waypoint6,waypoint0,waypoint17) navigate(rover1,waypoint11,waypoint7) sample_soil(rover10,rover10store,waypoint12) sample_soil(rover6,rover6store,waypoint20)
STEP 25.1: navigate(rover10,waypoint12,waypoint2) navigate(rover6,waypoint20,waypoint19)
STEP 26: communicate_rock_data(rover1,general,waypoint49,waypoint7,waypoint17) navigate(rover10,waypoint2,waypoint51) navigate(rover6,waypoint19,waypoint24)
STEP 27: communicate_soil_data(rover10,general,waypoint12,waypoint51,waypoint17) navigate(rover6,waypoint24,waypoint51)
STEP 28: communicate_soil_data(rover6,general,waypoint20,waypoint51,waypoint17)
424 actions in the plan.
total time 68.78 preprocess 67.08
total size 1.184 GB
max. learned clause length 722
t val conflicts decisions
0 0 0 0
5 0 15 23
10 -1 300 1279
15 -1 240 1268
20 -1 180 1212
25 -1 120 885
30 1 0 1350