#![allow(unused_imports)] fn main() { input! { n: usize, w: usize, h: usize, s: String, } let mut ans = mvec!['x'; (h, w)]; let (mut i, mut j) = (0, 0); for c in s.chars() { if c == 'o' { ans[h-1-i][j] = 'o'; i += 1; } else { i = 0; j += 1; } } for a in ans { for a in a { print!("{a}"); } println!(); } } use proconio::{input, marker::*}; use std::{cmp::Reverse, collections::*}; #[macro_export] macro_rules! chmax { ($a:expr, $b:expr) => {{ let tmp = $b; if $a < tmp { $a = tmp; true } else { false } }}; } #[macro_export] macro_rules! chmin { ($a:expr, $b:expr) => {{ let tmp = $b; if $a > tmp { $a = tmp; true } else { false } }}; } #[macro_export] /// mvec![] macro_rules! mvec { ($val:expr; ()) => { $val }; ($val:expr; ($size:expr $(,$rest:expr)*)) => { vec![mvec![$val; ($($rest),*)]; $size] }; }