Question: **ISO Paper Sizes Defined:**

The A series paper sizes are defined by the following requirements:

```
The length divided by the width is the square root of 2.
The A0 size has an area of 1 unit.
Each subsequent size A(n) is defined as A(n-1) cut in half parallel to its shorter sides.

```

[![enter image description here](https://i.stack.imgur.com/tDQjn.gif)](https://i.stack.imgur.com/tDQjn.gif)

**Task:**

given an input `f[n]` output A0 divided into `n` subdivisions.

**Test cases:**

`f[1]` to `f[12]`:

[![enter image description here](https://i.stack.imgur.com/Ji01L.gif)](https://i.stack.imgur.com/Ji01L.gif)

*Here, A0 is given by* `f[1]`*, but this indexing isn't essential.*

**Winning criteria:**

The shortest code in bytes wins.

Answer: 
BBC BASIC 49 ASCII characters
=============================

**Tokenised filesize 44 bytes**

```
I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.

```

Much shorter than before! I always forget about the bitshift operators in BBC BASIC for windows as they weren't available on my old computer back in the day.

BBC BASIC 63 ASCII characters
=============================

**Tokenised filesize 58 bytes**

Dowload interpreter at <http://www.bbcbasic.co.uk/bbcwin/download.html>

```
A%=841C%=1189d=4I.n:F.i=0TOn:RECTANGLE0,0,C%,A%:d!^B%/=2d=-d:N.

```

Uses zero indexing, which I prefer. Thus 0 outputs the paper for A0, 1 outputs A0 divided into a pair of A1s, etc.

It is necessary to alternate between halving the X and Y coordinates, but doing that in an array would have cost too many bytes. Instead I use the fact that BBC basic has a block of static integer variables `A%..Z%` of 4 bytes each stored in contiguous memory. I store the X and Y values in `A%` and `C%` and access using the pointer to `%B` modified by the value of d, which alternates between `4` and `-4`.

**Ungolfed**

```
  A%=841
  C%=1189
  d=4
  INPUTn
  FORi=0TOn
    RECTANGLE0,0,C%,A%
    d!^B%/=2
    d=-d
  NEXT

```

**Output**

[![enter image description here](https://i.stack.imgur.com/4TGQ9.png)](https://i.stack.imgur.com/4TGQ9.png)
Mathematica, ~~87~~ 85 bytes
============================

Thanks @martin for 1 byte.

```
Graphics@{EdgeForm@Thin,White,Rectangle[#,0{,}]&/@NestList[Sort[#/a]&,{1,a=√2},#]}&

```