package stableswap

// Mathematica generated test cases for two coins
//
// ds[x1_,x2_,A_]:=Module[{d,r,k},r=NSolve[A*4*(x1+x2)+d-A*4*d-d^(3)/4/x1/x2,d,Reals,WorkingPrecision->100];k=IntegerPart[d/.r];Print[{x1,x2,Select[k,#>0&][[1]]}]]
// dd=Table[ds[i1*10^21,i2*10^21,15],{i1,1,10},{i2,1,10}]
var TwoCoinTestCases = [][]string{
	{"1000000000000000000000", "1000000000000000000000", "2000000000000000000000"},
	{"1000000000000000000000", "2000000000000000000000", "2993987324342594819162"},
	{"1000000000000000000000", "3000000000000000000000", "3978828876840973560802"},
	{"1000000000000000000000", "4000000000000000000000", "4955810397915579285744"},
	{"1000000000000000000000", "5000000000000000000000", "5925388362748303567980"},
	{"1000000000000000000000", "6000000000000000000000", "6887867795041488135767"},
	{"1000000000000000000000", "7000000000000000000000", "7843501099357207543234"},
	{"1000000000000000000000", "8000000000000000000000", "8792513639835515740306"},
	{"1000000000000000000000", "9000000000000000000000", "9735112883796791085400"},
	{"1000000000000000000000", "10000000000000000000000", "10671492539695429511451"},
	{"2000000000000000000000", "1000000000000000000000", "2993987324342594819162"},
	{"2000000000000000000000", "2000000000000000000000", "4000000000000000000000"},
	{"2000000000000000000000", "3000000000000000000000", "4996646432824630184465"},
	{"2000000000000000000000", "4000000000000000000000", "5987974648685189638325"},
	{"2000000000000000000000", "5000000000000000000000", "6974865077314815159986"},
	{"2000000000000000000000", "6000000000000000000000", "7957657753681947121605"},
	{"2000000000000000000000", "7000000000000000000000", "8936535524851711934567"},
	{"2000000000000000000000", "8000000000000000000000", "9911620795831158571488"},
	{"2000000000000000000000", "9000000000000000000000", "10883008008267593357850"},
	{"2000000000000000000000", "10000000000000000000000", "11850776725496607135961"},
	{"3000000000000000000000", "1000000000000000000000", "3978828876840973560802"},
	{"3000000000000000000000", "2000000000000000000000", "4996646432824630184465"},
	{"3000000000000000000000", "3000000000000000000000", "6000000000000000000000"},
	{"3000000000000000000000", "4000000000000000000000", "6997650179274309702766"},
	{"3000000000000000000000", "5000000000000000000000", "7991425036417606251576"},
	{"3000000000000000000000", "6000000000000000000000", "8981961973027784457488"},
	{"3000000000000000000000", "7000000000000000000000", "9969553313965636362846"},
	{"3000000000000000000000", "8000000000000000000000", "10954360603545046811764"},
	{"3000000000000000000000", "9000000000000000000000", "11936486630522920682408"},
	{"3000000000000000000000", "10000000000000000000000", "12916004407207853098264"},
	{"4000000000000000000000", "1000000000000000000000", "4955810397915579285744"},
	{"4000000000000000000000", "2000000000000000000000", "5987974648685189638325"},
	{"4000000000000000000000", "3000000000000000000000", "6997650179274309702766"},
	{"4000000000000000000000", "4000000000000000000000", "8000000000000000000000"},
	{"4000000000000000000000", "5000000000000000000000", "8998186562807776230738"},
	{"4000000000000000000000", "6000000000000000000000", "9993292865649260368930"},
	{"4000000000000000000000", "7000000000000000000000", "10985797352784921592990"},
	{"4000000000000000000000", "8000000000000000000000", "11975949297370379276650"},
	{"4000000000000000000000", "9000000000000000000000", "12963895280304759421395"},
	{"4000000000000000000000", "10000000000000000000000", "13949730154629630319972"},
	{"5000000000000000000000", "1000000000000000000000", "5925388362748303567980"},
	{"5000000000000000000000", "2000000000000000000000", "6974865077314815159986"},
	{"5000000000000000000000", "3000000000000000000000", "7991425036417606251576"},
	{"5000000000000000000000", "4000000000000000000000", "8998186562807776230738"},
	{"5000000000000000000000", "5000000000000000000000", "10000000000000000000000"},
	{"5000000000000000000000", "6000000000000000000000", "10998522091619534205600"},
	{"5000000000000000000000", "7000000000000000000000", "11994477554332926716575"},
	{"5000000000000000000000", "8000000000000000000000", "12988237117259130537377"},
	{"5000000000000000000000", "9000000000000000000000", "13980012779215461970321"},
	{"5000000000000000000000", "10000000000000000000000", "14969936621712974095813"},
	{"6000000000000000000000", "1000000000000000000000", "6887867795041488135767"},
	{"6000000000000000000000", "2000000000000000000000", "7957657753681947121605"},
	{"6000000000000000000000", "3000000000000000000000", "8981961973027784457488"},
	{"6000000000000000000000", "4000000000000000000000", "9993292865649260368930"},
	{"6000000000000000000000", "5000000000000000000000", "10998522091619534205600"},
	{"6000000000000000000000", "6000000000000000000000", "12000000000000000000000"},
	{"6000000000000000000000", "7000000000000000000000", "12998752273662148280448"},
	{"6000000000000000000000", "8000000000000000000000", "13995300358548619405533"},
	{"6000000000000000000000", "9000000000000000000000", "14989939298473890553395"},
	{"6000000000000000000000", "10000000000000000000000", "15982850072835212503153"},
	{"7000000000000000000000", "1000000000000000000000", "7843501099357207543234"},
	{"7000000000000000000000", "2000000000000000000000", "8936535524851711934567"},
	{"7000000000000000000000", "3000000000000000000000", "9969553313965636362846"},
	{"7000000000000000000000", "4000000000000000000000", "10985797352784921592990"},
	{"7000000000000000000000", "5000000000000000000000", "11994477554332926716575"},
	{"7000000000000000000000", "6000000000000000000000", "12998752273662148280448"},
	{"7000000000000000000000", "7000000000000000000000", "14000000000000000000000"},
	{"7000000000000000000000", "8000000000000000000000", "14998920160357702452125"},
	{"7000000000000000000000", "9000000000000000000000", "15995906830127569462179"},
	{"7000000000000000000000", "10000000000000000000000", "16991200094974791444669"},
	{"8000000000000000000000", "1000000000000000000000", "8792513639835515740306"},
	{"8000000000000000000000", "2000000000000000000000", "9911620795831158571488"},
	{"8000000000000000000000", "3000000000000000000000", "10954360603545046811764"},
	{"8000000000000000000000", "4000000000000000000000", "11975949297370379276650"},
	{"8000000000000000000000", "5000000000000000000000", "12988237117259130537377"},
	{"8000000000000000000000", "6000000000000000000000", "13995300358548619405533"},
	{"8000000000000000000000", "7000000000000000000000", "14998920160357702452125"},
	{"8000000000000000000000", "8000000000000000000000", "16000000000000000000000"},
	{"8000000000000000000000", "9000000000000000000000", "16999048096410141658304"},
	{"8000000000000000000000", "10000000000000000000000", "17996373125615552461477"},
	{"9000000000000000000000", "1000000000000000000000", "9735112883796791085400"},
	{"9000000000000000000000", "2000000000000000000000", "10883008008267593357850"},
	{"9000000000000000000000", "3000000000000000000000", "11936486630522920682408"},
	{"9000000000000000000000", "4000000000000000000000", "12963895280304759421395"},
	{"9000000000000000000000", "5000000000000000000000", "13980012779215461970321"},
	{"9000000000000000000000", "6000000000000000000000", "14989939298473890553395"},
	{"9000000000000000000000", "7000000000000000000000", "15995906830127569462179"},
	{"9000000000000000000000", "8000000000000000000000", "16999048096410141658304"},
	{"9000000000000000000000", "9000000000000000000000", "18000000000000000000000"},
	{"9000000000000000000000", "10000000000000000000000", "18999148858070482878872"},
	{"10000000000000000000000", "1000000000000000000000", "10671492539695429511451"},
	{"10000000000000000000000", "2000000000000000000000", "11850776725496607135961"},
	{"10000000000000000000000", "3000000000000000000000", "12916004407207853098264"},
	{"10000000000000000000000", "4000000000000000000000", "13949730154629630319972"},
	{"10000000000000000000000", "5000000000000000000000", "14969936621712974095813"},
	{"10000000000000000000000", "6000000000000000000000", "15982850072835212503153"},
	{"10000000000000000000000", "7000000000000000000000", "16991200094974791444669"},
	{"10000000000000000000000", "8000000000000000000000", "17996373125615552461477"},
	{"10000000000000000000000", "9000000000000000000000", "18999148858070482878872"},
	{"10000000000000000000000", "10000000000000000000000", "20000000000000000000000"},
}
