//p: Polynom (String), v: Variable (String), K: Array mit RationalenZahlen für Koeffizienten
function parsePolynomR(p,v,K)
{
	var PPP=p;
	p=p.replace(/—/g,"-").replace(/–/g,"-");
	p=(" "+p+" ").replace(/\+/g," +").replace(/-/g," -").replace(/x\^0 /g," ");
	p=" "+p.replace(/ /g,"").replace(/,/g,".").replace(/²/g,"2").replace(/³/g,"3").replace(/\^/g,"");
	p=p.replace(/·/g,"").replace(/\*/g,"").replace(/•/g,"").replace(/,/g,".");
	p=p.replace(/xxxxxxxxxx/g,"x10").replace(/xxxxxxxxx/g,"x9");
	p=p.replace(/xxxxxxxx/g,"x8").replace(/xxxxxxx/g,"x7");
	p=p.replace(/xxxxxx/g,"x6").replace(/xxxxx/g,"x5");
	p=p.replace(/xxxx/g,"x4").replace(/xxx/g,"x3").replace(/xx/g,"x2");
	//p=p.replace(/x0/g,"*1");
	var pp=p.replace(/\d/g,"¶").replace(/,/g,"¶").replace(/\./g,"¶").replace(/p/g,"¶").replace(/_/g,"¶");
	var i,je,jk,k,e;
	var b=new RationaleZahl(0,1);
	for(i=0;i<K.length;i++)K[i].set(0,1);
	for(i=0;i<p.length;i++)
	{
		if(pp.charAt(i)!=v)continue;
		for(jk=i-1;jk>=0;jk--) {if(pp.charAt(jk)!="¶")break;}
		k=Number(p.substring(jk,i)); 
		if(jk==i-1)	k=(p.charAt(jk)=="-")?-1:1;
		for(je=i+1;je<pp.length;je++) {if(pp.charAt(je)!="¶")break;}
		e=Number(p.substring(i+1,je));
		if((je==i+1))e=1; 
		if(p.charAt(jk)=="/")
		{
			for(jk=jk-1;jk>=0;jk--) {if(pp.charAt(jk)!="¶")break;}
			var B=p.substring(jk,i).split("/");
			b.set(B[0],B[1]);
		}
		else if((k!=Math.floor(k))||(p.substring(jk,i).indexOf("p")>-1))
		{
			var B=getBruchFromDez(p.substring(jk,i)).split("/");
			b.set(B[0],B[1]);
		}
		else
		{
			b.set(k,1);
		}
		if(e>K.length-1)for(var ii=K.length;ii<=e;ii++)K[ii]=new RationaleZahl(0,1);
		K[e].add(b);
//		alert("parse: "+PPP+"\n"+K[e].str()+"·"+v+"^"+e);
		for(i=jk;i<je;i++)p=p.substr(0,i)+" "+p.substring(i+1,p.length);
	}
	pp=p.replace(/ /g,"");
	if(pp.charAt(0)=="+")pp=pp.substr(1,pp.length);
	while((pp.length>0)&&(pp.substr(pp.length-1,1).match(/\d/)==null))pp=pp.substr(0,pp.length-1);
	B=calcbruchterm(pp).split("/");
	if(B[0]=="Fehler")B[0]=0;
	if(B.length==2)b.set(B[0],B[1]); else {b.z=B[0];b.n=1;}	
	if(K[0]==null)K[0]=new RationaleZahl(0,1);
	K[0].add(b);
//	alert("parse: "+PPP+"\n"+K[0].str());
	
}

