Site icon Hip-Hop Website Design and Development

First archive page with a few posts

Hi guys i can not believe i can’t find anywere how to display only a few posts on a first page of archive. This is my archive template:

<?php
get_header('archive');  ?>

<div id="primary" class="content-area blog-archive col-md-9">
  <main id="main" class="site-main">
    <div class="breadcrumbs-block"><?php
    if ( function_exists('yoast_breadcrumb') ) {
      yoast_breadcrumb( '<p id="breadcrumbs">','</p>' );
    }
    ?>
      </div>
    <?php query_posts('post_type=post&post_status=publish&posts_per_page=24&paged='. get_query_var('paged')); ?>
       <?php if( have_posts() ): ?>
<div class="row all-recipes-block">
        <?php while( have_posts() ): the_post(); ?>
          <article id="post-<?php the_ID(); ?>" <?php post_class('col-md-4'); ?>>
            <?php if ( has_post_thumbnail() ) : ?>
              <a class="post-teaser" href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
                <div class="thumbnail-block"><?php the_post_thumbnail('regular-post-thumbnail'); ?></div>
                <div class="title-block"><span class="h3 title-for-widget"><?php the_title(); ?></span></div>
              </a>
            <?php endif; ?>
          </article>
        <?php endwhile; ?>
      </div>
      <div class="pagination-block row">
              <?php numeric_posts_nav(); ?>
      </div>
         <?php else: ?>
      <div id="post-404" class="noposts">
            <p><?php _e('None found.','example'); ?></p>
      </div><!-- /#post-404 -->
     <?php endif; wp_reset_query(); ?>
  </main>
</div>
<?php
get_footer();

Currently i have 24 posts per page and pagination, and i would love to show only 12 posts on the first page! Please help!

Thank you in advance!