text: using System;
  using System.Collections;
  
  using Org.BouncyCastle.Asn1;
  using Org.BouncyCastle.Math;
  
  namespace Org.BouncyCastle.Asn1.Oiw
  {
      public class ElGamalParameter
          : Asn1Encodable
      {
          internal DerInteger p, g;
  
  		public ElGamalParameter(
              BigInteger	p,
              BigInteger	g)
          {
              this.p = new DerInteger(p);
              this.g = new DerInteger(g);
          }
  
  		public ElGamalParameter(
              Asn1Sequence seq)
          {
  			if (seq.Count != 2)
  				throw new ArgumentException("Wrong number of elements in sequence", "seq");
  
  			p = DerInteger.GetInstance(seq[0]);
  			g = DerInteger.GetInstance(seq[1]);
          }
  
  		public BigInteger P
  		{
  			get { return p.PositiveValue; }
  		}
  
  		public BigInteger G
  		{
  			get { return g.PositiveValue; }
  		}
  
  		public override Asn1Object ToAsn1Object()
          {
  			return new DerSequence(p, g);
          }
      }
  }
  