Question: This code should count the number of prime numbers based on user input. If user input is 10, then I should get 4. However, I only get 0. Why does the second loop not run?

```
#include<stdio.h>
#include<math.h>
int main()
{
    int N;
    scanf("%d", &N);
    int numprime;
    numprime = 0;
    int P=1;
    for (P; P<N; P++)
    {
        if (P%2==0)
            continue;
        int e = sqrt(P);
        for (int j=3;j<=e;j+=2)
        {
            if (P%j!=0)
            {
                numprime = numprime + 1;
            }
            else
            {
                continue;
            }
        }
    }
    printf("%d", numprime);
}

```

Answer: 
`flex-direction: column`
========================

The major problem (besides some bad syntax on background shorthand) is that the `flex-direction` was at default which is `row` (horizontal). The flex items (`.logo` and `.copy`) are stacked vertically thus the `flex-direction` should be `column`.

---

Demo
----

**Details commented in demo**

```css
html,
body {
  /* Always set the font on html */
  font: 700 16px/1.5 Verdana;
  width: 100%;
  height: 100%;
}

.flex {
  /* 
  shorthand for background goes in this order:
  position (center) repeat (no-repeat) size (cover)
  and there's no slash "/"
  *//* 
  no-repeat is the only one kept 
  */
  background: url('https://i.imgur.com/5OLUUfp.png')no-repeat;
  /*
  The sidebar is always top to bottom 
  */
  min-height: 100%;
  /*
  The width was 100vw which is 100% of viewport which I'm assuming
  is wrong since a sidebar should only cover a portion of the
  viewport.
  */
  width: 320px;
  /* 
  By default flex-direction is row (horizontal flow)
  */
  display: flex;
  /* 
  The flex items (.logo and .copy) are vertical, so the flex-
  direction should be column. flex-flow is a combination of
  flex-direction and flex-wrap
  */
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

.logo {
  /*
  This pushes the footer.copy down to the bottom
  */
  margin: auto;
}

img {
  display: block;
  width: 90%;
}

.copy {
  font-size: 0.875rem;
  color: #FFF;
  /* 
  This property is given to individual tags that will break
  away from vertical flow of align-items
  */
  align-self: flex-end;
  margin-right: 10px
}
```

```html
<aside class="flex">
  <figure class="logo">
    <img src="https://i.imgur.com/cx6bov9.png">
  </figure>

  <footer class='copy'>&copy; copyright 2018</footer>
</aside>
```
you can use `position`.  

Add `position:relative;` to `.inner_content`  

and `position:absolute;` and `bottom:0;` to `.inner_content p` 

so your css looks like this 

```
.flex {
  align-items: center;
  display: flex;
}

aside {
  background: url('../img/sidebar-image.jpg') no-repeat center/cover;
  height: 20em;
  width: 100vw;
  float: left;
}

.inner_content {
  justify-content: center;
  flex-direction: column;
  height: inherit;
  width: inherit;
  position: relative;
}

.inner_content p {
  font-size: 14px;
  margin-top: 2em;
  color: #FFF;
  position: absolute;
  bottom:0;
}  

```

but you can do this in multiple ways  

here is a link to a similar question explaining this in multiple ways:  

[Center and right align flexbox elements](https://stackoverflow.com/questions/38948102/center-and-right-align-flexbox-elements)