#include <iostream>
using namespace std;
int main()
{
    cout << "OBS1.:Quanto maior for a diferenca entre as bases maior sera a altura\n";
    cout << "OBS2.:A diferenca entre as bases deve ser mair ou igual a 2 \n(para nao haver conflito)";
    cout << "\nOBS3.:Se a base superior for par a base inferior tem que ser par e ser for impar as duas tem que ser impar";
    cout << "\n\ninforme a base superior: ";
    int base_s;
    cin >> base_s;
    
    cout << "\ninforme a base inferior: ";
    int base_i;
    cin >> base_i;
    
    if(base_i>base_s)
    {                 
    int esp=(base_i-base_s)/2;
    int inc=esp+1;
    int g=base_s; // g=base_s porque o valor da base não pode ser alterado para o próximo (if).
                                          
      for(int a=1; a<=inc; a++)
      {       
          for(int e=1; e<=esp; e++)
          {
           cout << " ";
                        }
        
          for(int c=1; c<=g; c++)           
          {
            cout << "#";
                      }
          
            cout << "\n";
            g+=2;
            esp--;                 
      }
    }
          
    if (base_i<base_s)
    {
    
    int esp2=(base_s-base_i)/2;
    int inc2=esp2+1;
    int s=esp2;
    int h=s;
    
      for (int t=1; t<=inc2; t++)
      {
          for (int j=1; j<=base_s; j++)
          {
             cout << "#";
            }
            cout << "\n";
         
         for (int f=h; f<=esp2; f++)
         {
             cout << " ";
             }   
            
        esp2++;                  
        base_s-=2; 
      }
    }                       
    
    if(base_i==base_s)
    {
         for (int z=1; z<=base_s; z++)
         {
            cout << "#";
            }
            cout << "\n";
         for(int p=1; p<=base_i; p++)
         {
         cout << "#";
         }
    }
                                                     
        cout << "\n\n";                       
        system("pause");
        return 0;
}
