<?php 

	// BFI - Big Fuckin' Int
	
	
	class BFI {
	
		private $value = '0';
		
		public function __constructor($value = '0') {
			$this->value = (string)$value;
		}
		
		public function get() {
			return $this->value;
		}
		
		public function set($value) {
			$this->value = (string)$value;
		}
		
		public function add($value) {
			$moveOne=false;
			$a = (string)$this->value;
			$b = (string)$value;
			$c = '';
			
			$j=strlen($a);
			for($i=strlen($b)-1; $i>=0; $i--) {
				$j--;			
				$sum = ((int)$b[$i]+(int)$a[$j]);
				if($moveOne) {
					$sum++;
					$moveOne=false;
				}
				if($sum>9) {
					$moveOne=true;
					$sum=$sum-10;
				}
				$c=(string)$sum.$c;
			}
			
			if($j>$i) {
				for($k=$j-1; $k>=0; $k--) {
					if($moveOne) {
						$c=(string)(1+$a[$k]).$c;
						$moveOne=false;
					} else {
						$c=(string)($a[$k]).$c;					
					}
				}
			}	
         							
			if($j==0 && $moveOne) {
			   $c='1'.(string)$c;
			 //echo '!!'.$c.'!!';
			 
			    
			
			    $tmp = (int)$c[0];
			    
			    
			    if($tmp!=0) {
			    //$tmp++;
			    if($tmp==10) {
                    $c[0]=0;
                    $c='1'.(string)$c;
                } else {
                    $c[0]=(string)$tmp;
                }
                
                } else {
                
                 $c='1'.(string)$c;
                }
            }

			
            $this->value = (string)$c;
		}
		
		
		
		public function multiply($value) {
            $a = (string)$this->value;
            $b = (string)$value;
            $counter = new BFI();
            $c = new BFI();
            
            while((string)$b!=(string)$counter->get()) {
                echo $b.' / '.$counter->get().'<br/>';
                $counter->add(1);
                $c->add($a);
            }
            echo $c->get();
        }
		
	}
	
	    /*
	$bfi = new BFI();
	
	$bfi->set('0');
	
	for($i=0; $i<1000; $i++) {
	    echo $i.': '.$bfi->get().'<br/>';
        $bfi->add('1');
    }
    echo $bfi->get();
	//$bfi->multiply('420');
	//echo $bfi->get();
	//$bfi->set('8235465486546746767676673451234234234');
	//$bfi->add('262749635356565465465465635635635676786788768');
	
	
	
	//echo $bfi->get();
	//echo $bfi->get();
	
      /*
    $l1=54654;
    $l2=3454;
    
    $out=0;
    for($i=0; $i<$l2; $i++) {
        $out=$out+$l1;    
    }
    
    echo $out;
    */

    $sum = bcmul('24543546356356354643565465646546545642454354635635635464356546564654654564', '34543546356356354624543546356356354643565465646546545644356546564654654654');
    
    echo $sum;

?>


