Sub 3, finally

Hansen Sun
23 min readNov 16, 2023

A fleeting thought that was in the back of my head during college years, and a journey that started properly post Berlin 2019. To say the least, this was a long and arduous journey. Certainly underestimated the difficulty to achieve this , and possibly some luck too — which explains why this had taken this long.

Justin kindly reminded me to put in this exasperated conversation we had after my last failure at NYC Marathon 2022, about me reflecting “what if I had already hit my personal ceiling”? Working through the setbacks of stress injury post NYC/StanChart to make an easy Tokyo run for start of 2023 was not the most ideal backdrop for another sub3 attempt, but as runners we tend not to give up, so here goes another shot at this dream.

Motivational mantra from a sub-3 runner himself

In life, things happen for a reason, and in a way I’m glad I had some “down” time to manage other aspects of life, which is just as important in pursuing this passion. The “recovery periods” saw me getting some other important milestones checked: project managing my renovation, shifting in, and successfully organised my wedding in June, before culminating in a pretty adventurous honeymoon [hiking daily for more than a week in the Canadian rockies] in mid July till early Aug. This strength/aerobic training had definitely set myself up for a rather condensed 12 week cycle beginning Singapore’s National Day (August 9th). Of course, while I didn’t manage to squeeze in top quality marathon weeks prior to this, I did still keep myself active, and regularly ran 60–70ish km weeks to get back to some level of fitness resembling that of what I once had (though certainly not at its peak prior to NYC). Some race results came to show for it: with official PBs for 10k at Sundown @ 39.34, and SMTFA 1500m debut (PB) at 4.52.

Building blocks of marathon fitness

One thing that I realised from my various attempts in the last few cycles was that I did feel fitter (and consequently be more efficient) when my total volume increased. While 10km on a weekly timescale seemed to be quite minuscule, the additive effects of hard training, particularly on track days certainly can take its toll on the body. Towards the latter part of the cycle when I was concerned about how to add in more midweek mid-long runs, I was thankfully able to hop on the planned LR attempts with the wife as she built up towards the Great Eastern Women Half, which was a week ahead of my race, so the schedule synced up pretty much nicely as I was able to add in 14, 16, 18 and even 20k on a weekday [as opposed to my usual easy 10k on a weekday]. This was also set at an easier effort for me, as we were going at 6min/km paces for these, when my usual self easy runs will be ~5.45min/km, so I didn’t quite feel in the stresses on my legs when I definitely benefited from the aerobic training effect.

Reference of past weekly training mileages:
Munich 2021 (Mostly 70ks, peak at 84k)
Enschede 2022 (Mostly low 80ks, peak at 89k)
New York 2022 (Mostly low 80ks, 3 weeks at low 90ks)
JTBC Seoul 2023 (Mostly low 90ks, 1 peak week at 101k)

Start of training block after SG’s National Day, with marathon race demarcated by green arrow
A week-by-week analysis of the training load in the 12 weeks

While I did think there could be some inaccuracies in the HR readings from just the wrist watch, the broad trends probably were accurate. It was quite a great feeling to see my easier runs now being completed in average of low-mid 120s, and sometimes even high 120s when the weather is atrocious.

Moving forward, the longer easier runs will likely be a staple to increase the overall mileage — more weeks at 90s in the earlier phases of the training cycle to hit a couple more at 100s where possible.

Long Run (LR)

Of course this is the basic building block of marathon training. The ability to sustain yourself for many hours out there at a high level performance is something that the body needs to get used to. One key that I really learnt from the training plan from Anna is that in Singapore we do not need to fret about going hard at LRs with Marathon Pacing (MP), just because it is way too tiring and draining which will likely do more harm than good. But that said, of course it still has to be kept within reason to get the aerobic effect that is needed, and the reference point for me based on my cruise interval sessions is between 4:50min/km to 5:20min/km (or somewhere in the ballpark). I recall having done most of my long runs slightly north of 5min/km for the last cycle, so that was how I started trying to keep my pacing.

Over time, of course I also managed to do some pretty solid runs at exactly 5min/km for the LR with Yik Siong (30km), or my solo LR (31km) at 4.50min/km. Having these checked off was really a confidence booster, as the effort to maintain these were really significantly lower than what I recalled in the last cycle.

Beyond the pacing, one significant improvement from past cycles is also the nutrition aspect of the long runs. Since New York, and after Tokyo, I have weaned myself off gels during long runs. This was something that I had noticed from other stronger runners that they also did not require additional nutrition during the LR itself to better prep the body to be more efficient to operate at that frequencies. This of course took some time to adjust to, and the initial stages was challenging and I often had to slow my runs to close to 5:30min/km pace. When the cycle started, the few months of “casual” long running had built my fitness to a point where this was now a new normal for me.

Besides gels, my water intake is also significantly lower now, though of course a small boost is still much appreciated and I still prefer to have small sips along the way every 5km or so — often through placing my bottle at a same point when I ran past. For a 26–28km run, I would have used to consume 2 gels and potentially >500ml of water in the past, but now that is down to maybe only around 200–250ml (by estimation). One key aspect to making this arrangement work was also doing a lot more of the long runs solo this time around, given the convenience of just running along the PCN network around my house (around a 8km out and back along Pang Sua), with a conveniently located toilet in between that allowed me to place my bottle and refuel where needed.

While I was able to only clock in around 3 >30km LRs, which I think was slightly on the lower side, I would definitely try to ramp that up a bit further with the longer headway towards London to give me even greater confidence heading into the race.

Track Sessions

Regular sessions at the Evans Road Oval Office

The Shufflers typically have 2 interval sessions — Mondays where we do shorter reps from 400s to 1ks, and Wednesdays where long thresholds are done. I have always believed the Wednesday sessions are the most critical to marathon fitness, and that’s why from 2 years ago I had always prioritized Wednesdays first. Of course, I do believe that there is certainly some correlation between the shorter distance fitness at 5k and shorter in translating to more efficient running, but at this point I haven’t quite cracked the code to unlocking that side of the house I believe (after having stagnating 5k timings for a while) and the returns of ensuring I train on both Mondays and Wednesdays had really taken a toll on my body in the last cycle which was likely a reason that my stress injury came about.

Another side point for this training cycle was also that it is the first ever block since I have been happily married to my supportive wife S — which is why being out of home on two weekdays is also a bit of a sacrifice to our newly married life. Taking these into consideration, I decided to integrate a bit of my own Monday sessions following what the rest of the team did on Evans track in my neighbourhood track, but at only around half the intensity or so. (I.e. if the main set was 6x1000, I would likely do 3 sets — together with a warm up to the stadium and cool down back home). This way, I reduced the time away from home yet also remind my legs on what they need to be working. Not sure if this actually still had the training effect that it would have had, but for now I do see it as something that works for me, and it really gave me fresher legs to really capitalise on my workouts on Wednesdays. If I were to really go full steam on Monday workouts for some weeks, a possibility which I had explored partly for the NY cycle was to do them on Monday mornings (even as the morning heat is ferocious), which at least gave me half a day to recover in addition — but of course the toughest part is always waking up early on Mondays oops.

I recall at the start of this block on Wednesdays when I first came back from honeymoon — I was struggling to do the 96s/lap. Of course over the weeks things improved significantly, and I was able to complete the final workouts between 92–93s per lap. This was also a key reference point in which on my parting workout on the week of the race before flying out to Seoul, Anna told me to not to be too conservative during the front part of the race and go too slowly.

Working on the weaker links

Well — gym sessions are not intuitive for a good amount of runners, myself included. I must confess that despite the stress injury that got me injured end 2022, the decision to go for gym sessions have not been very proactive, but I have made some efforts to try. In particular, I was aiming really mostly on the legs, and individually to make sure that I could focus on the weaker leg. Didn’t particularly help that the office gym didn’t have a very comprehensive set of machines for doing squats, but I did make use of the other machines to get in a workout (perhaps on average once every 10–14 days or so). Around a month out, I did felt that there could potentially be some slight niggles on the weaker leg, and that’s when I started to pay attention more on the form during easy running, which I got the data from my Garmin Run Pod. Not sure how accurate it is exactly, but I think it definitely provided a bit more clue as to the natural tendencies, and I could see a bigger fluctuation of readings when I was running on tired legs and form starts to sway more and become sloppy. This is certainly something to continue working on in the upcoming cycle and be more diligent about.

Data field from the Garmin RD Pod clipped on the back of my shorts to give me some added data for reference. It is typically said that anything more than 2% might increase the risk of injury due to imbalance

The JTBC Seoul Marathon

This race was not really well known to many Singaporeans — most people were only aware of the Seoul marathon that is in March typically. Many were quite amazed that there was another Seoul Marathon in Nov. Previously known as the JoongAng Seoul Marathon, it was first held in 1999 as a commemoration of the Olympic marathon race (1988 Seoul Games).

This year, the organisers changed up the race route, and it is now a point-to-point course that brought us through the city. On first glance, it wasn’t really the easiest course possible when you look at the elevation profile, but it was something that fit our family schedule. Having just gone to Taipei for a holiday in April, running the Taipei and SC Taipei marathon would be slightly boring from a travel perspective, and this was the first short getaway post honeymoon/since S started a new job. I also thought that it might be a good idea to keep myself a bit more in check in the earlier bits of the race, so I wouldn’t really be stressing out too much even if I had to slow down slightly to tackle that huge incline at the ~13km mark given that it is still fairly early in the race.

The revised marathon route for JTBC Seoul. Two bridge crossings , one at around 9k and one at 28k.
Elevation profile of the course — with the most significant somewhere around 13km

The bib pickup was really just a pickup unfortunately. Unlike the fanfare of the Abbott World Marathon Majors, I believe the organisers had decided to mail out the boxes (which is pretty cute) to all local participants. For the rest of us foreign delegates, we proceeded to pick it up on the weekend ahead of the race. I pretty enjoyed the fact that our bibs were labelled with our names, as it really gave us the feeling of being an “elite runner”. #cheapthrills!

& now, onto the race recap.

Recently, I had encouraged Justin to repost his own Sub3 in Ottawa 2019, for that was the motivating piece that really set my goals into a pictorial form. Reading that again before my own race was really one that helped me to frame my own mind towards the race duration, as I tried to prepare myself for any worse feeling that might arise during the race (spoiler alert — it didn’t!). A second read years on from a more serious attempt definitely helped invigorate myself as I got towards D-Day.

Race flatlay with the equipment of the day. Rather colour synchronized to be dark themed — in line with the gloomy weather for this race. Pinkish socks was the only exception to help brighten the mood a little!

The preparation on the day of was slightly haphazard. Knowing that we will be caught in the rain (given 80–90% precipitation predictions on Naver), it wasn’t the most exciting thought to wake up to. While I woke up at 6am as planned, I left the hotel slightly delayed at only 6.45am, after making a return trip to pack in my poncho (it was raining rather heavily at this moment, and I didn’t want to not have one before the race). The Metro was fully packed with the participants, with both 10km and FM categories packing the station tight. Good thing that the organisers split us up into two ends of the stadium, and hence different exits out of the station to reduce the confusion and mess.

I panicked slightly as we approached the bag deposit. For some reason, I didn’t have a sticker to paste on the bag before chucking it into the storage trucks. (Our bags were to be delivered to the end point). Thankfully, I managed to move into an adjacent truck with a staff who kindly wrote a running number onto the plastic bag, and also on my bib. The language barrier was unfortunately real — and precious time had been lost. With just slightly less than 20mins to go, and a long potty line (as usual), I decided to take a bet and forgo the potty and start to jog my way towards the starting pen.

(L) — Corral balloons (this was for the 10k — somehow couldn’t find the FM corral balloon photos (R) Lining up for the Start line of the marathon. Photos from IG posts

The signages weren’t too clear, but the crowd moved in that general direction so I shuffled along and found my way to the floating balloons where the pens were demarcated. The runners were not that densely packed yet, so I was able to enter from Pen B and move towards the mid of Pen A (below 3.30). One thing that I appreciated was that people here seem to be more aware of their own target times — and hence did not overly went to the front to choke things up when the gun went off. This would certainly save a lot of pain from the weaving in and out of the crowds. At this point, the weather was actually very nice to us and held up without any drizzle. We saw the wheelchair athletes and elites go off first before we were asked to move forwards to begin our journey at roughly 8.05am.

First 5km(split 20:43)
To much fanfare and crowd hyping, we did a mass countdown from 5 to 1 with the emcee. As we started, I took out my poncho (which was still dry since it didn’t actually rain around the start area now) and tossed it to the side. It was a pretty smooth start, but I was cautious not to overdo it as the energy was really high at this moment and we had been standing around for 20mins or so. The crowd that I was running alongside were pretty much around my pace so I didn’t feel a need to overtake much people at this point. However, it was also quite unfortunate that the crowd was pretty packed so I couldn’t see the potholes on the floor, and I stepped into one early on within 400m in and my right shoe was instantly moistened. Not the best morale booster but I kept my cool and continued on.

It was also somewhat warmish even though the sky was overcast. At around 13C, I started with the singlet, arm sleeves and gloves but quickly stuffed the gloves back into the pocket after 2km in as I was starting to heat up. But I knew that the gloves would definitely come in handy when the weather changed and the rain started (which was an inevitability based on the prediction for the later part of the race).

It was also during this period that we quickly crossed the Seogang Bridge over to the Southern side of Seoul. Was rather concentrated with ensuring my pacing was on, so I didn’t remember much of the scenery here (it all looked pretty much the same anyway).
Pacing (based on GPS) — 4.05, 4.08, 4.13, 4.07, 4.08

Likely taken from the Seogang Bridge crossing, where there was still quite a huge bunching of runners

6–10km (Split: 20.41)
This segment was relatively flat, as we ran past the perimeter of the Yeouido Park before crossing the Mapo Bridge at around the 10km mark. One thing that was not super clear was the positioning of the hydration stations — which is different from that of other races. It was stated in the race book that we could expect the hydration stations to be present every 5km interval, so I was expecting to take my first Maurten gel at around 10km. As we turned onto the bridge area, from afar I saw white objects on the table and thought they were cups of water, but to my horror (after eating the gel), this was actually sponges with cool water. Thankfully the Maurtens were less viscous than that of typical gels, but it was still a pretty shitty feeling to have the gel stuck in your mouth for a good distance. I recall having to keep this for close to 3km until we finally reached the next hydration station (which was somewhere around 12km).

Later on in the evening, I came back to the Yeouido Hangang Park area to check out the bridge, and totally did not have much recollection of the surroundings as I passed by. I guess I was just pretty much zoned in on the race during the moment to really enjoy the sceneries around me then. Managed to keep up the good pacing and clocked in the 10km at 41:23, which was almost a minute ahead of the 42:15 target for a 3h pace.
Pacing (based on GPS): 4.07, 4.05, 4.05, 4.14, 4.04.

11–15km (Splits: 20.53)
This was the 5k segment that I was most fearful of, but most expectant to get rid of. The huge incline up the Mapo-daero was something that certainly could exhaust a lot of strength, but it was still early on in the race that I could still make back for lost time if needed. In any case, the 1min buffer from the first 10km was certainly a huge boost to morale, knowing that I could not worry about the tightness of time.

I was running between different groups at the junction thus far, but from around 7km I was running somewhat alongside a Korean lady (~possibly early 40s) who was running at roughly my pace. I decided that I should continue to follow since she did seem quite experienced and confident. Especially when we started the incline at around 12 km, I initially tried my best to keep behind her to control my pace, but I realised that she had slowed down quite significantly when going up the hill. With my legs feeling pretty good at this point, I didn’t really want to artifically slow down too much so I trusted my instinct to soldier on at that pace. Of course this also happened to be somewhat my slowest km thus far, but it was still within the 3h pacing, so I was genuinely quite surprised. As we were immediately greeted with some downhill for a relief, I allowed my legs to just “free-wheel” for the moment and speed up. There was a genuine alarming moment when I saw the 14th km on Garmin clicking in at 3.59, and I told myself to hold my horses and calm down (we’ve still got a very long way to go). Overall I still felt pretty good without too much lactic from the climb, so at this juncture I was still feeling quite positive, although I didn’t really want to put my head too much on the end outcome just yet.
Pacing (based on GPS): 4.08, 4.15, 4.09, 3.59, 4.10

16km — 20km (Split: 20:57)
This segment of the race was generally downhill, back to the initial elevation prior to the climb. It was also a pretty straight road so it was just mindless running straight. This was also where I had to endure the same feeling of having consumed a gel without a water station nearby me, having mistaken the sponge station as a water point yet again. This time though, thankfully I had only around 1km ish to wait for the next water point.

One interesting thing that I noticed was that the mass participant hydration tables were not placed at the same locations as the elite bottles. This also gave a false sense of expectation for hydration to come soon. Not sure what the rationale for such an arrangement was, but I often thought that most races would just align the two, with the elites generally having the bottles placed before the mass water points were located.
Pacing (based on GPS): 4.04, 4.04, 4.12, 4.09, 4.07

21km — 25km (Split: 20.44)
After crossing the 20km mark, there was an expectant feeling for passing through the HM mark. Since the last segment, the Korean lady had also caught up with me, and we were once again running somewhat at similar paces. Definitely felt a bit speeding up as we reached towards the HM marker, and at this time I was just following behind the Korean lady as we weaved through the other pacing group ahead of us. The weather had held up for the entirety of the first half of the race, which I was very thankful for as it provided a comfortable experience, but as we crossed the HM point, the drizzle started to become heavier. As we crossed 23/24km, I recall the drizzle being pretty heavy, and I was quite glad that I brought along my running cap (first time wearing this) to shield my vision from the rain. I was still decked out mostly in my sunglasses though, and it helped to prevent the rain from getting into my eyes.

As we crossed the HM mark at 1:27:41, I knew I was in a good position having built up ample buffer for the sub-3 effort. In my mind, at least I had achieved a HM PB, if nothing else. However, we all knew that the toughest part of the marathon was still to come, so I continued to brace myself for the eventuality.
Pacing (based on GPS): 4.09, 4.02, 4.07, 4.10, 4.07

26km — 30km (Split: 20.57)
I recall us running upwards towards an underpass under the mountain at this segment of the race, where I allowed myself to slow slightly so as not to strain the legs at this critical juncture. The portion inside the tunnel/underpass was calming and I used this time to wring out some excess rain off my cap and just enjoy the stillness of the air within. As I wasn’t sure if the pace would still be accurate after this segment of GPS-less running, I didn’t take too much reference to the watch at this point. The 4.18 from the 26th KM marker also didn’t worry me too much, given the excesses that I had already accumulated earlier on in the race.

The exit from the underpass henceforth was mostly downhill, and I allowed my legs to “free-wheel” again. Most folks around me were also speeding up significantly, and I figured I might expend more energy trying to stop myself rather than to just go with the flow.
Pacing (based on GPS): 4.18, 4.07, 4.01, 4.08, 4.09)

Exit from the underpass/tunnel

31km — 35km (Split: 20.56)
At this juncture of the race, the end is near (ish). As I clicked in on the 30km mat at sub 2.05, my mind did a quick calculation of what Shao Yong had told me in my final LR: “you’ll be pretty safe if you can clock in 40km at 2.50, giving you 10mins to run the last 2.2km”. That translated to a 45min 10k split which would be a very generous 4.30min/km pace.

As we turned onto the main stretch of Yangjae-daero, these were fairly busy thoroughfares, and at some junctures I recall the local running clubs were quite active in cheering for their members and adding to the overall fanfare and mood. I was mostly intent on just keeping pace from the earlier part of the race, and appreciated the presence of their cheers from the sidelines.
Pacing (based on GPS): 4.03, 4.08, 4.06, 4.09, 4.17

36km — 40km (Split: 21.02)
I must have missed the 35km marker, but wasn’t too concerned because there was this slight kink of an “out-and-back” around 36km where I saw the next 36km marker on the other side of the road. This part of the race was slightly boring, as we were running on a part of a highway and foot traffic was pretty low. Most of the runners around me were giving the pretty “dead” look and I think we were all just intent on getting the race done at this point. Thankfully, my legs were still feeling quite strong during this time, and I steadily picked off some runners as I kept to my pace. There were a couple of gentle inclines in the area, as we progressed towards the 40km marker, and I made sure not to be too insistent on my pace lest I trigger any impending cramps, which I felt might be activated if I pushed too hard.
Pacing (based on GPS): 4.09, 4.12, 4.07, 4.07, 4.11

Homestretch (Split: 8.48)
Clicking in 40km at 2.46 was very encouraging, as I knew that the goal would most likely be accomplished. The atmosphere was also starting to build, as we exited the highway and started to get back towards the city area. The final 2km or so was along a bent road of Baekjegobun-ro, and it was quite peaceful at this point. I was just really processing my thoughts of the race thus far, and anticipating when the final bend would be.

The inaccuracies of GPS had built in thus far, and when I saw the distance click 41.7km (probably actual race distance of around 41.5km), I figured it was time to speed up and see what I can best achieve of this moment. Didn’t have much time to really process the calculations in my mind on how close I might be able to get a sub-2.55 from this juncture, but I just focused on the road and let myself bounce along.
Pacing (based on GPS): 4.04, 4.07

Rounding the final bend before the finish

The final 200m was an attempt at all-out sprinting, but also very heavy breathing from the emotional overwhelm at this juncture. We could also hear the emcee at this point who was helping to hype up the crowd there. Tried hard to find S along the crowd-lined roads but didn’t manage to do so. I also figured she would probably shout for me if she had seen me, and so I decided to just look straight and make sure I don’t fall in this most important moment. With much relief, I crossed the finish line not knowing how well I had done (before looking at the watch). I had done it! While it wasn’t a sub 2.55, that was already far beyond my own expectations, and I was just stoked at being able to dock over 14mins off my previous PB from Munich (3.10.06).

Stats and Splits in summary:

Rounding the final bend towards the finish line

First race experience in Korea

The race organisation was frankly quite smooth, and having paid 80,000W (roughly $80), I thought it was quite value for money. Of course, the small kinks were mainly attributed to the language barrier. I recall having little to no English information provided — most were “Google Translate”. Of course it mostly sufficed but it does provide some anxiety if you couldn’t find what you were looking for.

Many race photos were also hosted on this platform called PhotoSports. Besides really navigating hard to even sign up for an account, I couldn’t make a purchase for my photos unless I had local payment methods (KakaoPay, NaverPay) which made things really hard. Thankfully, I relied the help of a friend from university to make the transactions, to really commemorate the occasion.

These would likely be issues to deal with for the many Singaporeans that I know who are headed to Seoul Marathon, but I guess they’re just some small slight annoyances that you will have to deal with!

Appreciation

It really takes a village to get to this point. Of course beyond the individual sacrifices to properly train up for the marathon given that it can really humble you on short notice, there are just so many other people that need to give you that support to make it all happen.

Of course firstly the wife S — for always embracing that marathoning is such an important aspect of my life that we have thus far planned a decent few holidays around a race first (NYC, Melaka, Seoul), having some dietary restrictions before the race day, and ensuring that I have sufficient rest and comfort leading up to the big day. The entirety of the training block was also filled with disturbances from waking up early every Saturday morning alongside my 4.30/5am alarm when people typically sleep in, and of course running around the course/finish line to grab some photos of me in my zone. Unfortunately, she didn’t manage to capture shots this time around because I told her to expect me at 2.59, and I had come in a few minutes early such that she didn’t manage to jostle around the crowd to get a good spot at the finish. Of course it was such an emotional moment when I saw her after the finish line that I teared up because I have finally gotten to this point after so long and she had witnessed most, if not all of the struggle to get here today.

My OG Saturday/Sunday Long Run Crew of Justin, Yik Siong and Wen Sheng — for being this solid group of friends that talk non-stop all day about running and life in general. While we haven’t gotten much runs in together, the occasional LRs together this training cycles have given me much confidence in my ability to tackle this #sub3 endeavour, and I am proud to say that I have finally joined in the hallowed ranks of this achievement as well alongside all of you.

Anna — for always being there to talk about training, showing up and being ever so dedicated to the fulfilment of our individual potentials by tracking our training so actively during every workout session. Your mentorship and guidance have shaped me into a much stronger runner than I was 3 years ago, and I know that this is just the beginning of even better achievements. Of course, not forgetting the many Shuffler teammates that I train hard together with week in week out. The shared passion of pushing ourselves beyond the comfort zone is one that gives me much motivation even when the session is hard, or when the going gets tough. It is also an inspiration for what is to come in the time ahead.

Many other friends from the running community whom i have had the pleasure to be acquainted with. I certainly hope that everyone of you can achieve your goals and dreams — and will be happy to share whatever experiences that I have with everyone.

Digital race certificate for completing the JTBC Seoul Marathon 2023

What’s next?

Well, the next big race would be London where I would obtain my 5th Abbott WMM star. No active targets for now, but am committed to doing my best to reach a better personal best.

Running a marathon is always a physically draining and demanding activity, particularly at this level of intensity, so I am committed to just keep the rest of the year pretty much devoid of really any proper training targets and just to allow my body to rest and recuperate before the training cycle restarts in the new year.

--

--

Hansen Sun

Policy Analyst, Economist, Marathon Runner Based in 🇸🇬 IG: @hansenorun